[英]UIPopoverController in iOS 8
所有人都說UIPopoverController
在iOS 8上使用。
但是,如果我在iPhone模擬器中測試我的應用程序,它就會崩潰並顯示日志:
由於未捕獲的異常'NSInvalidArgumentException'而終止應用程序,原因:'-在未在UIUserInterfaceIdiomPad下運行時調用了[-[UIPopoverController initWithContentViewController:]。
這段代碼可以在iPad模擬器上正常工作。
我的Development Target
設定為8.4
UIViewController* viewController = [[UIViewController alloc] initWithNibName:@"StyleMenu" bundle:nil];
self.stylePopover = [[UIPopoverController alloc] initWithContentViewController:viewController];
self.stylePopover.popoverContentSize = CGSizeMake(250,200);
[self.stylePopover presentPopoverFromBarButtonItem:styleBarButton
permittedArrowDirections:UIPopoverArrowDirectionUp
animated:YES];
任何幫助,將不勝感激。
UIPopoverController
在iPhone上不可用。 使用您的viewController的新popoverPresentationController
屬性代替
MYViewController * myViewController = [[MYViewController alloc] init];
myViewController.modalPresentationStyle = UIModalPresentationPopover;
myViewController.popoverPresentationController.sourceView = button;
myViewController.popoverPresentationController.sourceRect = button.bounds;
[self presentViewController: myViewController animated: YES completion: nil];
是的,可以從iOS8開始。 我已經給出了類似問題的答案,甚至實現了一個有用的類來與iPhone上的彈出窗口配合使用,甚至在其中放置了一些自定義元素,例如UITableView
, WKWebView
,您都將其命名。
您可以在這里查看我的答案並鏈接到課程: https : //stackoverflow.com/a/30418212/2924920
不幸的是,根據Apple文檔,UIPopoverController是iPad專用的
Popover控制器專用於iPad設備。 嘗試在其他設備上創建一個會導致異常。
這個問題也可能重復嗎? iPhone的UIPopoverController無法正常工作?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.