我在Interface Builder中创建了一个带有1个UIView项目的.nib file,但是当我以编程方式初始化它时,视图并没有覆盖整个屏幕,只能看到它下面的一小部分视图。
看起来Y坐标处于某个负位置而不是0.我没有为视图配置导航栏但是如果我要设置它,则不会显示该栏。
我正在appDelegate类中创建这样的视图:
MyCustomController *controller = [[MyCustomController alloc] initWithNibName:@"MyCustomView" bundle:nil];
[window addSubview:[controller view]];
Interface Builder中视图的设置:
Orientation: Portrait
Status Bar: Gray
Top Bar: unspecified
Bottom Bar: unspecified
View mode: "Scale To Fill"
View Size/Position: Set to "Layout" and the X/Y, Width/Height are readonly with 0,0,320,460
我在'viewWillAppear'上打印出了视图的框架和[[UIScreen mainScreen]边界]:
view.frame on viewWillAppear - x: 0.0, 0.0, 320.0, 460.0
bounds - x: 0.0, 0.0, 320.0, 480.0
我不确定为什么视图会被移位 - 一旦视图被'initWithNibName'方法加载,只读取帧大小的最佳位置是什么?这似乎是我能想到的解决方法。
答案 0 :(得分:0)
我用UINavigationController包裹了我的控制器,问题就消失了。