无法更改 IBOutlet 属性的框架
Posted
技术标签:
【中文标题】无法更改 IBOutlet 属性的框架【英文标题】:Can not change the frame of an IBOutlet property 【发布时间】:2014-10-13 06:08:41 【问题描述】:说,我有一个 ViewController 并设置了一个属性:
@property (nonatomic, strong) IBOutlet UIView *contentView;
在Controller的xib文件中,我在默认的UIView上添加了一个UIView,并将其frame设置为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】:你在使用自动布局吗?
如果是,则不能更改框架。
要么关闭自动布局,要么使用约束来更改视图的大小。希望这会有所帮助。
【讨论】:
以上是关于无法更改 IBOutlet 属性的框架的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController - 无法通过 IBOutlet 更改 vcontroller.view 中的图像
AspNetUser 上的实体框架流利的 api 1:1 属性无法更改 Account_Id 属性
更改 UIView 框架大小不会更改 UITableview 框架原点 y