objective-c - 第二次从 nib 加载 UIViewController 会弄乱 UIImageView 的框架

标签 objective-c ios cocoa-touch uiviewcontroller

好吧,这很奇怪。我以前从未遇到过这样的事情:

我正在加载名为 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/

相关文章:

iphone - 如何为我的 iOS 应用程序创建小部件?

objective-c - 如何在 objective-c 中引用swift app delegate

objective-c - iOS 查找 View 是否有动画

ios - 使用 CoreData 保存 EVObject

ios - 如何在具有相同Apple ID的多个设备的用户中找出 "Sign in with Apple"?

ios - UICollectionView取消分配断言失败崩溃

iOS - UIView 总是在前面,没有 BringSubviewToFront

ios - 在 iOS 中制作一个调用电话号码的按钮

iphone - 将整数拆分为单独的数字

javascript - 如何检测浏览器地址栏是否显示在 iOS 设备上?