如何在导航弹出窗口上调整UIPopoverPresentationController的大小?

汤姆·汉明

UIPopoverPresentationController在iOS应用中使用弹出窗口。当弹出式窗口中的导航控制器推送新的视图控制器时,弹出式窗口将调整为该视图控制器的大小preferredContentSize但是,当导航控制器将视图控制器弹出堆栈时,弹出窗口的大小不会重新调整为先前的大小。我该怎么做呢?

这个问题可能重复,但是是现代的UIPopoverPresentationController

更新:请参见此处的示例代码来说明问题。克隆它并在iPad模拟器中运行它。点击弹出按钮,您将获得带有导航控制器的弹出窗口。点按“推杆”按钮项,您会在堆栈上获得一个新的更高的VC(大小在导航栏中)。弹出,它并不会缩小到原来的大小。

罗尼玫瑰

添加此行:

self.navigationController.preferredContentSize = self.preferredContentSize;

到您的viewWillAppear:方法,这样它现在将如下所示:

- (void)viewWillAppear:(BOOL)animated
{
    [super viewWillAppear:animated];

    if (self.navigationController)
    {
        UIBarButtonItem *item = [[UIBarButtonItem alloc]initWithTitle:@"Push" style:UIBarButtonItemStylePlain target:self action:@selector(onPush)];
        self.navigationItem.rightBarButtonItem = item;
        self.navigationItem.title = NSStringFromCGSize(self.preferredContentSize);
        self.view.backgroundColor = [UIColor lightGrayColor];

        self.navigationController.preferredContentSize = self.preferredContentSize;
    }
}

它将确保每次显示的视图控制器更改时,导航控制器的首选大小都会更新。我在您的示例代码上对其进行了测试,并解决了该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在OSX 10.9上调整Xcode窗口的大小

来自分类Dev

在窗口上调整大小获得新的宽度和最后一个

来自分类Dev

如何在Windows上调整所选jQuery下拉列表的大小

来自分类Dev

如何防止导航栏在窗口调整大小时转移?

来自分类Dev

如何在Vala中调整窗口大小?

来自分类Dev

如何在iOS上调整位图的大小

来自分类Dev

在调整大小窗口上裁剪图片

来自分类Dev

如何在Tkinter的“顶级”窗口上强制调整大小?

来自分类Dev

如何在Excel WebBrowser控件上调整图像大小

来自分类Dev

如何在Microsoft Edge浏览器中调整和移动弹出窗口的大小?

来自分类Dev

在调整大小窗口上调整元素大小

来自分类Dev

调整窗口大小时如何避免导航栏元素重叠?

来自分类Dev

Owlcarousel 2在窗口上调整大小(已编辑)

来自分类Dev

边缘如何启用可调整大小的弹出窗口

来自分类Dev

如何在Matlab上调整图形轴的大小?

来自分类Dev

如何在gnome的窗口标题栏上调整字体大小?

来自分类Dev

如何在PageViewController上调整ViewController的大小

来自分类Dev

在OSX 10.9上调整Xcode窗口的大小

来自分类Dev

如何在Android上调整Yuv图像的大小

来自分类Dev

如何在点击时调整窗口大小

来自分类Dev

如何防止导航栏在窗口调整大小时转移?

来自分类Dev

如何在Vala中调整窗口大小?

来自分类Dev

在调整大小窗口上裁剪图片

来自分类Dev

如何在KendoUI / Angular Window上调整Highcharts图表的大小

来自分类Dev

如何在新打开的弹出窗口上执行Javascript或jQuery?

来自分类Dev

如何在桌面上调整“文件夹视图”窗口小部件的大小?

来自分类Dev

防止导航栏在Bootstrap上调整大小

来自分类Dev

如何在Microsoft Edge浏览器中调整和移动弹出窗口的大小?

来自分类Dev

如何在 NWJS 的弹出窗口上调用 Window.print()?

Related 相关文章

  1. 1

    在OSX 10.9上调整Xcode窗口的大小

  2. 2

    在窗口上调整大小获得新的宽度和最后一个

  3. 3

    如何在Windows上调整所选jQuery下拉列表的大小

  4. 4

    如何防止导航栏在窗口调整大小时转移?

  5. 5

    如何在Vala中调整窗口大小?

  6. 6

    如何在iOS上调整位图的大小

  7. 7

    在调整大小窗口上裁剪图片

  8. 8

    如何在Tkinter的“顶级”窗口上强制调整大小?

  9. 9

    如何在Excel WebBrowser控件上调整图像大小

  10. 10

    如何在Microsoft Edge浏览器中调整和移动弹出窗口的大小?

  11. 11

    在调整大小窗口上调整元素大小

  12. 12

    调整窗口大小时如何避免导航栏元素重叠?

  13. 13

    Owlcarousel 2在窗口上调整大小(已编辑)

  14. 14

    边缘如何启用可调整大小的弹出窗口

  15. 15

    如何在Matlab上调整图形轴的大小?

  16. 16

    如何在gnome的窗口标题栏上调整字体大小?

  17. 17

    如何在PageViewController上调整ViewController的大小

  18. 18

    在OSX 10.9上调整Xcode窗口的大小

  19. 19

    如何在Android上调整Yuv图像的大小

  20. 20

    如何在点击时调整窗口大小

  21. 21

    如何防止导航栏在窗口调整大小时转移?

  22. 22

    如何在Vala中调整窗口大小?

  23. 23

    在调整大小窗口上裁剪图片

  24. 24

    如何在KendoUI / Angular Window上调整Highcharts图表的大小

  25. 25

    如何在新打开的弹出窗口上执行Javascript或jQuery?

  26. 26

    如何在桌面上调整“文件夹视图”窗口小部件的大小?

  27. 27

    防止导航栏在Bootstrap上调整大小

  28. 28

    如何在Microsoft Edge浏览器中调整和移动弹出窗口的大小?

  29. 29

    如何在 NWJS 的弹出窗口上调用 Window.print()?

热门标签

归档