2

当 ViewController 通过 UIPopoverPresentationController 以 iOS 8 方式呈现 actionSheet (AlertController) 时,ViewController 将其边界缩小到 actionSheet 的大小。

我试图做的是在弹出窗口上显示一个 actionSheet,但我以 iOS 8 的方式来做,我遇到了这种奇怪的情况。

这就是我遇到这种情况的原因”

  1. 当按下 barButtonItem 时,它会通过 UIPopoverPresentationController 弹出 ViewController。(如图1)
  2. 当按下 ViewController 上的按钮时,它会显示一个 actionSheet
  3. 然后 ViewController 将其大小缩小到 actionSheet 的大小。(如图2)

这是整个项目供参考。 https://github.com/allenlinli/ALtryEverything/tree/Q435235 它在“TryAlertOnPopoverOnBarButtonItemOniPad”项目中。

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

3

只需preferredContentSize用于 ViewController.m 中的 navigationController

像这样:

- (void)action:(id)sender
{
    // ....
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:historyViewController];
    navigationController.modalPresentationStyle = UIModalPresentationPopover;
    navigationController.preferredContentSize =CGSizeMake(320, 480);
    // ...
}

布局子视图控制器的任何容器视图的首选内容大小。

参考:苹果 UIViewController

于 2014-08-20T07:34:09.857 回答