UIPickerView 作为 inputView 在方向变化时搞砸了
Posted
技术标签:
【中文标题】UIPickerView 作为 inputView 在方向变化时搞砸了【英文标题】:UIPickerView as inputView gets messed up on orientation change 【发布时间】:2011-09-27 23:13:36 【问题描述】:我使用标准 UIPicker 视图作为 iPhone 应用程序中 textField 的 inputView。当视图以横向或纵向加载时,选择器的大小与相应的键盘相同。但是,当您在视图内旋转设备一次时,选择器不会正确调整其高度,就像它调整宽度一样。我设置了 UIViewAutoresizingFlexibleWidth 。当我尝试设置 UIViewAutoresizingFlexibleHeight 时,选择器在旋转时会变得混乱(图形不稳定,组件被切断),尽管高度是正确的!有人知道吗?
【问题讨论】:
【参考方案1】:我发现如果您使用的是 ios 7,只需添加:
pickerView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
这解决了我的问题。过渡不是很不稳定,看起来“应该”看起来。
【讨论】:
【参考方案2】:我找到了创可贴:
在托管视图控制器的didRotateFromInterfaceOrientation:
中,在该选择器视图上调用setNeedsLayout
。奇怪的布局故障在旋转过程中是可见的,但在结束时会清除。
【讨论】:
那个pickerView就是textField的inputView。所以无法在父ViewController中访问以上是关于UIPickerView 作为 inputView 在方向变化时搞砸了的主要内容,如果未能解决你的问题,请参考以下文章
UIPickerView 作为 inputView 在方向变化时搞砸了
当 UIPickerView 与 TextField 的 inputView 关联时,如何重置它?
MonoTouch UIButton、UIPickerView 和覆盖只读 InputView
UITextField inputview 属性出现问题,拉起自定义 UIPickerView