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

UITextField inputview 弹出 UIPickerView 在pickerview中显示问号

点击 TableViewCell 以显示 UIPickerView