谁动了我的看法?

时间:2012-06-28 09:05:58

标签: iphone ios5 storyboard

使用storyboard,我创建了一个项目。

viewDidLoad内,我做了:

NSLog(@"%@",self.view.description); 

我得到了:

<UIView: 0x8789cb0; frame = (0 20; 320 460); autoresize = RM+BM; layer = <CALayer: 0x8789d50>>

但在另一个XXControllerDelegate方法中,我得到了:

<UIView: 0x8789cb0; frame = (0 0; 320 416); autoresize = RM+BM; layer = <CALayer: 0x8789d50>>

如果我没有选择Resize View From NIB Rise View From NIB

,我发现了这个事实

我总是得到:  frame = (0 0; 320 416)

但我找不到任何地方从NIB重新调整视图。我移动了我的观点?

2 个答案:

答案 0 :(得分:1)

您的视图有RM+BM这些锚点可以将视图y和x位置移动到父视图中,当viewDidLoad被调用时,superview从其中获取其大小xib文件,当调用viewWillAppear时,视图将调整为superview

如果您希望视图不调整大小,则应移除RM+BM,检查屏幕截图

删除图像右下方的红色水平和垂直线

enter image description here

答案 1 :(得分:0)

UIView的框架相对于其所包含的超级视图。

UIView的边界相对于自己的坐标系。

因此,您需要确定添加视图的位置。