即使存在类似22的约束,也会在底部切换视图,但正如您在下面的图片中看到的那样,它就像2或3.约束在ios 7和ios 8中完全正常(不太确定在ios 8)这只发生在ios 9中。我记录了self.view(帧和边界)的高度。对于iphone 5,我得到568的帧和边界。这是怎么回事?我该如何解决这个问题?
以下是ios8的屏幕截图
答案 0 :(得分:1)
当在故事板上的任何控制器上拖动任何控件时,它将是alloc
和init
,您可以使用initWithCoder
获取其实际框架,这将在您init
之前调用在viewDidLoad
方法上,您可以使用此方法管理控件的实际框架。
这是您可以调整控件框架的方法:
- (id)initWithCoder:(NSCoder *)aDecoder {
if ((self = [super initWithCoder:aDecoder])) {
[self setActualFramewithinInitialization];
}
return self;
}
- (void)setActualFramewithinInitialization {
//you can adjust the frame of your control with initializations as you need
}
当您使用storyboard
或nib
设置控件的框架时,此方法非常有用,但您最终没有将其设置为正确。
您必须在此处初始化控制,因为此方法将在初始化View
之前调用。