UIPopoverController 在 iOS 8 中的大小不正确
Posted
技术标签:
【中文标题】UIPopoverController 在 iOS 8 中的大小不正确【英文标题】:UIPopoverController not sizing correctly in iOS 8 【发布时间】:2014-10-06 14:26:31 【问题描述】:在 ios 8 之前,我使用 UIPopoverController 的应用运行良好。我将它固定并以 400 x 215 的大小打开。但是现在当我使用 iOS 8 在 iPad 上运行我的应用程序时,我的弹出窗口大小不正确。它几乎在我的锚点的全高和全宽处弹出。由于 iOS 太新,我似乎无法为此找到调整。以下是我的代码:
UIView *anchor = self.personAnchor;
UIViewController *viewControllerForPopover =
[self.storyboard instantiateViewControllerWithIdentifier:@"choosePersonViewController"];
popover = [[UIPopoverController alloc]
initWithContentViewController:viewControllerForPopover];
popover.popoverContentSize = CGSizeMake(400, 215);
popover.delegate = self;
[popover presentPopoverFromRect:anchor.frame
inView:anchor.superview
permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
【问题讨论】:
设置视图控制器的preferredContentSize
,而不是设置弹出框的popoverContentSize
。
在视图控制器本身上?选择PersonViewController?
在视图控制器上,您将在弹出窗口中显示 - viewControllerForPopover
。
设置preferredContentSize的设置在哪里?
“那个设置在哪里”是什么意思?在文档中查找。这是UIViewController
属性。
【参考方案1】:
设置视图控制器的 preferredContentSize
而不是设置弹出框的 popoverContentSize
- 从评论中复制
【讨论】:
以上是关于UIPopoverController 在 iOS 8 中的大小不正确的主要内容,如果未能解决你的问题,请参考以下文章
ios7 NSInvalidArgumentException 呈现 UIPopoverController
UIPopoverController 在 iOS 8 中的大小不正确
iOS 7 上的 UIPopoverController 和键盘导致奇怪的动画
iOS 7 上 UIPopoverController 后面的色调