如果“查看方式:”不同,则将关闭XCode Modal VC

时间:2018-07-20 15:22:15

标签: ios xcode modalviewcontroller

我不知道这是一个错误还是什么,我使用自动布局,除模式视图控制器外,其他一切都正常。


如果“ view as:”选项与Simulator的大小相同,则它们没有问题。但是当它们不同时,屏幕就会截断一些内容。

因此,如果我确实选择“以iPhone 8的方式查看”并在模拟的iPhone 8上运行它就可以了。

但是,如果我在模拟的SE上执行此操作,则会切断某些内容:

但仅当它是模式视图控制器时

View as iPhone 8, Simulator as iPhone SE

enter image description here

View as iPhone SE, Simulator as iPhone SE

enter image description here

为什么会发生?

1 个答案:

答案 0 :(得分:1)

这里唯一的错误是施加圆角的蒙版(或其他任何蒙版)尺寸错误。

您的四舍五入代码可能在错误的位置-也许在viewDidLoad中。这是一个错误,因为在调用viewDidLoad时,您的视图尚未达到其最终大小。

您的第一个屏幕截图就是一个很好的例子。模态视图将以iPhone 8的宽度加载,并假设其尺寸为圆角。但是随后视图缩小到了iPhone SE的宽度,因此四舍五入的计算最终不符合视图的实际大小。

解决方案很简单:将四舍五入的代码移至viewDidLayoutSubviews中。不过请注意:viewDidLayoutSubviews会运行很多次,因此请使用Bool标志来确保只在第一次调用时才对角进行一次。