当我的应用处于横向视图时,我希望将UIPickerView / UIDatePickerView的高度调整为162。在代码中自动布局有一种简单的方法吗?
我目前正在尝试以下处理调整大小的方法:
- (void) willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
duration:(NSTimeInterval)duration
{
NSInteger height = 216;
if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
height = 162;
}
datePicker.bounds =
CGRectMake(datePicker.frame.origin.x, datePicker.frame.origin.x,
datePicker.frame.size.width, height);
}
但是当这个代码以横向方向执行时,我得到以下效果:选择器不再绑定到屏幕的左下角(这是它下面出现的白色边距):
是否有方法或自动布局来使用UIPickerViews处理此调整大小,或者我应该在视图控制器中的一个视图旋转方法中使用边界矩形?
答案 0 :(得分:15)
您可以更改UIPickerView / UIDatePickerView的高度,但只能更改以下值:
答案 1 :(得分:1)
如果您使用的是Autolayout:
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if (UIInterfaceOrientationIsPortrait(toInterfaceOrientation)) {
self.dateHeightConstraint.constant = 216;
} else {
self.dateHeightConstraint.constant = 162;
}
}
如果您未使用Autolayout,请在此方法中将框架设置为162
或216
的高度。