2015-07-06 3 views
5

Как вы можете представить UIViewController во всплывающем браузере на iPhone (все размеры и ориентации), в iOS 8, используя только код Objective-C, никаких рассказов или другие артефакты конструктора интерфейса.Как вы программно настраиваете и представляете popover на iPhone в iOS 8+

ответ

14

В прошивке 8, вы можете настроить любой контроллер представления, которое будет отображаться как пирог, например, так:

UIViewController* controller = ...; // your initialization goes here 

// set modal presentation style to popover on your view controller 
// must be done before you reference controller.popoverPresentationController 
controller.modalPresentationStyle = UIModalPresentationPopover; 
controller.preferredContentSize = CGSizeMake(150, 300); 

// configure popover style & delegate 
UIPopoverPresentationController *popover = controller.popoverPresentationController; 
popover.delegate = controller; 
popover.sourceView = sourceView; 
popover.sourceRect = CGRectMake(150,300,1,1); 
popover.permittedArrowDirections = UIPopoverArrowDirectionAny; 

// display the controller in the usual way 
[self presentViewController:controller animated:YES completion:nil]; 

Так что он показывает, как пирог на iPhone, добавьте к этому UIPopoverPresentationControllerDelegate делегату пирога (который вы установили выше):

- (UIModalPresentationStyle)adaptivePresentationStyleForPresentationController:(UIPresentationController *)controller 
{ 
    return UIModalPresentationNone; 
} 
Смежные вопросы