【发布时间】:2016-02-02 12:01:45
【问题描述】:
我有一个简单的视图控制器,叫做 ViewController,它在一个导航栈中,结构如下:
UINavigationControlelr
UIViewController
ViewController
ViewController 有一个名为 a 的子视图控制器,我在 ViewController 中添加了一个,a 的框架是 ViewController 的边界。我有另外两个 UIViewController,分别称为 b 和 c,我将 b 和 c 添加到 a。 b的框架是
CGRect(x: 0, y: 0, width: 100, height: 100)
c的框架是
CGRect(x: 0, y: 100, width: 100, height: 100)
如果我将导航栏半透明设置为 true,则视图显示正确,如下所示:
但是当我将导航栏半透明设置为 false 时,发生了一些奇怪的事情。
发生了什么事。如何解决这个问题? 项目很简单,也可以从这里下载测试问题:download
【问题讨论】:
-
如果您还没有尝试过,查看调试器可能会有所帮助。
-
您的视图高度设置为 36,比您设置的高度正好小 64 像素,我会说这与插图有关。
-
是的,它被调用得太早了,当 iOS 调整视图的框架以避免非半透明的黑条(即添加 64 像素到视图的 origin.y)时,您的子视图框架已经已经设置好了。回答如下。
标签: ios objective-c swift uiviewcontroller containers