说,我有一个ViewController,我设置了一个属性:
@property (nonatomic, strong) IBOutlet UIView *contentView;
在Controller的xib文件中,我在默认的UIView上添加了一个UIView,并将其帧设置为{0,0,320,568}。我将它与属性contentView连接。
在viewDidLoad方法中我做:
- (void)viewDidLoad {
[super viewDidLoad];
contentView.frame = CGRectMake(0, 20, 320, 300);
contentView.backgroundColor = [UIColor purpleColor]; //frame print to be {0, 20, 320, 300}
}
问题是contentView的框架在iphone上显示为{0,0,320,568}。但我打印出的框架是我在viewDidLoad方法中设置的。
这是怎么发生的?感谢〜
答案 0 :(得分:1)
您使用的是autolayout吗?
如果是,则无法更改框架。
关闭自动布局,或使用约束来更改视图的大小。希望这会有所帮助。