2

使用故事板,我创建了一个项目。

在里面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 NIB 的上升视图

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

但是我找不到任何地方从NIB调整视图大小。谁移动了我的视图?

4

2 回答 2

1

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

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

去掉下图右中部红色横竖线

在此处输入图像描述

于 2012-06-28T09:11:26.193 回答
0

an 的框架UIView是相对于它所包含的父视图的。

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

所以你需要确定你在哪里添加你的视图。

于 2012-06-28T09:11:30.233 回答