我正在学习为 iPhone 开发(以编程方式,我不喜欢 IB)。我只将 IB 用于事物的框架,所以我在 IB 中进行设计,但仅使用它来检查每个控件的框架。我非常困惑的是 UIView 的框架。首先,如果不实现loadView在视图控制器中,它会自动创建一个空的 UIView(我注意到它是黑色的)并将其分配给 self.view,对吗?框架呢?它会自动找出框架应该是什么吗?我的意思是,它需要根据是否有状态栏、是否有标签栏、工具栏、方向而有所不同。在我的标签栏应用程序中,似乎无论我设置的 uiview 框架是什么,它看起来仍然很好。而且,UIView 的框架在 IB 中似乎搞砸了。就像一个 UIView 占据整个窗口(除了状态栏)的 y 值是 0,当它应该是 20 时,因为状态栏占据了前 20 个像素。在 IB 中,标签栏控制器中的视图的 y 值为 411,即使它是从状态栏下方开始的。每当我 NSLog 一个帧(四个数字,view.frame.origin.x,view.frame...等 ) x, y, width 和 height 总是 0.. 有懂的人可以给我解释一下吗?谢谢!!
好的,这很奇怪......这个:
CGRect test = CGRectMake(0, 20, 320, 460);
NSLog(@"%d %d %d %d", test.origin.x, test.origin.y, CGRectGetWidth(test), CGRectGetHeight(test));
给出输出:
0 0 0 1077149696
???那是怎么回事?