无法更改IBOutlet属性的框架

时间:2014-10-13 06:08:42

标签: ios objective-c xib

说,我有一个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方法中设置的。

这是怎么发生的?感谢〜

1 个答案:

答案 0 :(得分:1)

您使用的是autolayout吗?

如果是,则无法更改框架。

关闭自动布局,或使用约束来更改视图的大小。希望这会有所帮助。