我正在使用此代码:
mediaLibraryPopover = [[UIPopoverController alloc]
initWithContentViewController:avc];
[self.mediaLibraryPopover presentPopoverFromRect:[theButton bounds]
inView:theButton
permittedArrowDirections:UIPopoverArrowDirectionAny
animated:YES];
我在Xcode 7中收到此警告:
最佳答案
您不再需要UIPopoverController
来呈现 View Controller 。
相反,您可以将 View Controller 的modalPresentationStyle
设置为UIModalPresentationPopover
。
您可以为此使用以下代码:
avc.modalPresentationStyle = UIModalPresentationPopover;
avc.popoverPresentationController.sourceView = theButton;
[self presentViewController:avc animated:YES completion:nil];
引用UIModalPresentationStyle Reference
您需要设置
sourceView
或barButtonItem
属性,否则它将崩溃,并显示以下消息:为了正确 anchor 定弹出箭头,您还需要指定
sourceRect
属性。avc.modalPresentationStyle = UIModalPresentationPopover;
avc.popoverPresentationController.sourceView = self.view;
avc.popoverPresentationController.sourceRect = theButton.frame;
[self presentViewController:avc animated:YES completion:nil];
有关更多详细信息,请引用sourceView和sourceRect。