Fas*_*ser 5 show ipad uisplitviewcontroller uipopovercontroller ios
我正在使用Apple提供的splitViewController模板.在具体行动中,我想展示一下rootViewController.不幸的是,我找不到一个方法来显示popover(以编程方式),就像点击栏按钮项时一样.
有任何想法吗?谢谢!
小智 12
您可以barButtonItem使用以下两种方法显示来自或使用您自己的rect 的popover :
[self.popoverController presentPopoverFromRect:(CGRect) inView:(UIView *) permittedArrowDirections:(UIPopoverArrowDirection) animated:(BOOL)];
[self.popoverController presentPopoverFromBarButtonItem:(UIBarButtonItem *) permittedArrowDirections:(UIPopoverArrowDirection) animated:(BOOL)]
Run Code Online (Sandbox Code Playgroud)
self.popoverController是我的情况是一个存储popover的ivar.我每次都在设置这个变量:
- splitViewController:willHideViewController:withBarButtonItem:forPopoverController:
Run Code Online (Sandbox Code Playgroud)
并将其设置回nil其对应的方法:
- splitViewController:willShowViewController:invalidatingBarButtonItem:
Run Code Online (Sandbox Code Playgroud)
继承我的代码:
- (void)splitViewController: (UISplitViewController*)svc willHideViewController:(UIViewController *)aViewController withBarButtonItem:(UIBarButtonItem*)barButtonItem forPopoverController: (UIPopoverController*)pc {
barButtonItem.title = @"42";
self.navigationController.navigationBar.topItem.leftBarButtonItem = barButtonItem;
self.popoverController = pc;
}
- (void)splitViewController: (UISplitViewController*)svc willShowViewController:(UIViewController *)aViewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
self.navigationController.navigationBar.topItem.leftBarButtonItem = nil;
self.popoverController = nil;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3418 次 |
| 最近记录: |