Das*_*ash 7 iphone objective-c uipickerview ipad uipopovercontroller
我正在使用弹出框来显示iPhone大小的表格视图表格(与我的iPhone应用程序匹配).在表格内部,我有一个文本字段,其中选择器设置为输入视图.当它以这种方式用作iPad时,拾取器会像iPad键盘一样向上滑动.反正有没有设置选择器在弹出窗口中向上滑动就像在iPhone上一样?
您不能直接执行此操作(作为 inputView)。但您当然可以使用这个简单的解决方法:
将您的替换UITextField为UIButton并将其连接到某个选择器(buttonClicked:)。您可以使用UIButtonTypeCustom能够对其进行样式设置,使其看起来像文本字段(设置图层bordeColor, borderWidth, cornerRadius等......)
in -(void)buttonClicked:(id)sender- 切换您将用作替换的 inputView 的相同 UIPickerView UITextField。您可以在普通实例变量中创建,只需记住设置 delegate 和 dataSource 即可。将其附加到根视图(UIViewController弹出窗口中的显示),甚至UIWindow根据它是否已显示将其动画化或退出(切换)。
在方法中更新按钮的文本(通过使用[button setTitle:<selected_value> forState:UIControlStateNormal])UIPickerViewDelegate : pickerView:didSelect...atIndex:` - 您还可以在此处隐藏选择器..
我已经做过多次,它在任何情况下都有效,并且您可以完全控制选择器的显示方式和位置,而无需涉及UIResponder链条。
对于这种特殊情况,还没有找到更好的解决方案(iPad 键盘也喜欢操纵弹出窗口 - 它将它们向上推)。
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |