gho*_*der 0 frame uiimageview ios
我有一个UImageView初始尺寸设置xib为:
Y:0,身高:406.
在viewDidLoad,根据我使用此代码的条件:
self.mainAdImg.frame = CGRectMake(self.mainAdImg.frame.origin.x, self.mainAdImg.frame.origin.y + OFFSET, self.mainAdImg.frame.size.width, self.mainAdImg.frame.size.height);
哪里 mainAdImg is the UIImageView, and OFFSET is 20.0f
所以,我希望,图像会下降20.0.
相反,新值变为:
Y : 20 (correct), height: 426 (not expected)
为什么高度变化?
编辑:
我没有使用autolayout.
我记录原点,高度像这样:
NSLog(@" Y : %f, height : %f",self.mainAdImg.frame.origin.y,self.mainAdImg.frame.size.height);
你可以做到这一点 viewDidLayoutSubviews
- (void)viewDidLayoutSubviews {
    [super viewDidLayoutSubviews];
    // Do your resizing
}
在viewDidLoad视图中只是加载,这太早依赖于帧值.视图没有超级视图,自动调整掩码和自动布局规则可以更改帧值.
如果你仍然想要这样做,viewDidLoad你需要使用固定的帧值(例如CGRectMake(10,10,600,400)).