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 后面的色调

如何在 iOS7 的 UIPopoverController 中更改导航栏背景/颜色?

当键盘出现时,UIPopoverController 在 iOS 7 上奇怪地移动