从.nib文件加载时调整视图大小

时间:2010-08-24 18:49:17

标签: iphone

我在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'方法加载,只读取帧大小的最佳位置是什么?这似乎是我能想到的解决方法。

1 个答案:

答案 0 :(得分:0)

我用UINavigationController包裹了我的控制器,问题就消失了。