2017-08-14 5 views
-1

私はこの質問が以前に尋ねられたことを知っています。私はObjectStep-Cで書かれたXCODEゲームをAppStoreに保存するように更新する必要があります。私は数年前からOBCに積極的に触れていませんでした。私は、UIPopoverControllerの問題以外のすべての問題を修正することができました。UIPopoverController 'は廃止されました:最初にiOS 9.0で廃止されました

私はコードに「>」と警告をマークしました。

私は本当にここでいくつかの助けに感謝します。

私は、次のコードを持っている:これは、あなたが代わりにUIPopoverPresentationControllerを使用する必要があります廃止されましたので

#import "DetailViewController.h" 

@interface DetailViewController() 

>>@property (strong, nonatomic) UIPopoverController *masterPopoverController; 


- (void)configureView; 
@end 

@implementation DetailViewController 

@synthesize detailItem = _detailItem; 
@synthesize detailDescriptionLabel = _detailDescriptionLabel; 
>>@synthesize masterPopoverController = _masterPopoverController; 

#pragma mark - Managing the detail item 

- (void)setDetailItem:(id)newDetailItem 
{ 
if (_detailItem != newDetailItem) { 
    _detailItem = newDetailItem; 

    // Update the view. 
    [self configureView]; 
} 

>>if (self.masterPopoverController != nil) { 
>> [self.masterPopoverController dismissPopoverAnimated:YES]; 
>>}   
} 

- (void)configureView 
{ 
// Update the user interface for the detail item. 

if (self.detailItem) { 
    self.detailDescriptionLabel.text = [[self.detailItem valueForKey:@"timeStamp"] description]; 
} 
} 

- (void)viewDidLoad 
{ 
[super viewDidLoad]; 
// Do any additional setup after loading the view, typically from a nib. 
[self configureView]; 
} 

- (void)viewDidUnload 
{ 
[super viewDidUnload]; 
// Release any retained subviews of the main view. 
self.detailDescriptionLabel = nil; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) { 
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} else { 
    return YES; 
} 
} 

#pragma mark - Split view 

>>- (void)splitViewController:(UISplitViewController *)splitController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController 
{ 
barButtonItem.title = NSLocalizedString(@"Master", @"Master"); 
[self.navigationItem setLeftBarButtonItem:barButtonItem animated:YES]; 
self.masterPopoverController = popoverController; 
} 

- (void)splitViewController:(UISplitViewController *)splitController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem 
{ 
// Called when the view is shown again in the split view, invalidating the button and popover controller. 
[self.navigationItem setLeftBarButtonItem:nil animated:YES]; 
>>self.masterPopoverController = nil; 
} 

@end 

答えて

1

を。これは、廃止されたUIPopoverControllerのドキュメントに明示されています。例については

// Present the view controller using the popover style. 
myPopoverViewController.modalPresentationStyle = UIModalPresentationPopover; 
[self presentViewController:myPopoverViewController animated: YES completion: nil]; 


// Get the popover presentation controller and configure it. 
UIPopoverPresentationController *presentationController = 
     [myPopoverViewController popoverPresentationController]; 
presentationController.permittedArrowDirections = 
     UIPopoverArrowDirectionLeft | UIPopoverArrowDirectionRight; 
presentationController.sourceView = myView; 
presentationController.sourceRect = sourceRect; 
関連する問題