UIPopoverPresentationController popoverLayoutMargins似乎绝对没有效果

时间:2017-09-05 14:50:09

标签: ios swift uipopoverpresentationcontroller

正如标题所示,无论我为popoverLayoutMargins提供什么价值,似乎都没有发生。

我正在尝试显示一个锚定到UIButton的弹出菜单。一切正常,除了我想让popover扩展屏幕的宽度。

我尝试过播放preferredContentSize的{​​{1}}。

问题是我不能让popover一直扩展到屏幕的边缘。

根据文档,我发现:

  

默认边缘插入是每条边上的10个点

以编程方式更改它不会产生任何影响。为了验证这一点,我正在使用Xcode的视图调试器。

窗口:

UIViewController

UIPopoverView

<UIWindow: 0x7fc96cd02c50; frame = (0 0; 375 667); gestureRecognizers = <NSArray: 0x60000025d580>; layer = <UIWindowLayer: 0x600000039140>>

请注意,弹出窗口的宽度恰好比窗口宽度小10 + 10点

我尝试使用以下方法更改边距:

<_UIPopoverView: 0x7fc96cf227a0; frame = (10 101; 355 57); layer = <CALayer: 0x61000023f760>>

在尝试使用viewController之后,我尝试使用它们。这是因为UIPopoverPresentationController文档说明了

  

在调用present(_:animated:completion :)之后配置popover表示控制器可能看似违反直觉,但UIKit在您启动演示之前不会创建演示控制器。此外,UIKit必须等到下一个更新周期才能在屏幕上显示新内容。这种延迟使您有时间为弹出框配置演示控制器。

0 个答案:

没有答案