我的示例 Storyboard 中的此文档大纲显示了我正在使用的内容。
我有一个自定义容器视图控制器和两个通过嵌入 segues 连接的内容视图控制器。
这是故事板本身。
ZetaViewController 必须创建一些程序化视图(当然是在 ZetaView 中)。我注意到当我将这些以编程方式创建的视图居中时,它们似乎真的偏离了中心。
ZetViewController 通过检查self.view.bounds.size.height和self.view.bounds.size.width并进行一些适当的算术来使事物居中。
当我将调试日志添加到 ZetaViewController 时,我注意到 self.view.bounds.size.height和self.view.bounds.size.width的尺寸等于 ContainerView (768 x 1004) 而不是ZetaView (728 x 637)。IB 中的 Size Inspector 确认这些值。
我为 ZetaView 的 tag 属性创建了一个独特的值并记录了它。ZetaViewController.view确实是 ZetaView,因为标签值确认了它。
那么发生了什么?为什么在 Storyboard 和 Size Inspector 上以较小的尺寸清晰显示的 ZetaView 在运行时会在其属性中显示错误的值?