好吧,这很奇怪。我以前从未遇到过这样的事情:
我正在加载名为 LoadVC
的 UIViewController,如下所示:
self.window.rootViewController = [[LoadVC alloc] init];
我第一次这样做时,所涉及的 UIImageView 是完美的,就像我在 IB 中设置它一样:
<UIImageView: 0x1ed689c0; frame = (0 -20; 320 480); clipsToBounds = YES; opaque = NO; autoresize = W+RM+H; layer = <CALayer: 0x1ed68a20>>
负 y 偏移是有意的。我第二次加载这个 View Controller 时, ImageView 变得疯狂:
<UIImageView: 0x1eda3160; frame = (0 -20; 320 436); clipsToBounds = YES; opaque = NO; autoresize = W+RM+H; layer = <CALayer: 0x1eda28d0>>
有数据吗?
最佳答案
View 的框架不是静态的,可以根据其调整大小蒙版进行更改以适应环境。第一次加载它时,它可能会出现在清晰的屏幕上。第二次看起来像是导航栏之类的东西占据了空间,所以它被垂直压扁了。除非你的意思是你在相同的条件下从同一个位置加载它两次,并且每次都会得到不同的帧。
关于objective-c - 第二次从 nib 加载 UIViewController 会弄乱 UIImageView 的框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13240027/