iOS能力:初学者

如果我的Xib包含多个都需要自己的Picker View的字段,那么什么是在页面上添加多个Picker视图而不弄乱所有Design View的适当/规范方法?

1)仅以编程方式添加PickerView,而不通过XIB添加?

2)仅使用1个Picker对象,并根据字段使用不同的值填充它
选择? (可能的内存好处?)

3)将UIPicker放在一个很小的高度/宽度的视图上,然后在需要时以编程方式调整高度吗?甚至不确定高度是否可调。

4)以上一些组合?

您可以在下图中看到,即使只有一个选择器视图,它的外观也已经变得凌乱:

最佳答案

如果一次只能看到一个pickerView,则应考虑仅使用一个pickerView并配置它的委托/数据源,以便为每个字段提供不同的数据源。

除非一次可以看到一个以上,否则实际上没有任何理由在您的nib文件中使用多个。即使使用了不止一个,您仍然必须配置委托/数据源方法来处理每个单独的选择器。

希望能有所帮助。

编辑:这将需要一点点工作,但是如果您希望pickerView可以在需要时随时在视图中进行动画处理,并且想要进一步清理Xib,则可以执行以下操作:

  • 创建一个包含您的选择器的子视图View
  • 在子视图上设置一个协议,以使您可以将所选值传递回视图控制器。
  • 设置您的viewController使其符合选择器子视图上的协议。
  • 将pickerView设置为每个textField的inputView。
  • 设置textField的委托方法,以在编辑开始时配置子视图的dataSource。

  • 通过这样做,您已经设置了textField,以便它在接收firstResponder时将显示pickerView而不是键盘。

    关于ios - 在页面上添加多个UIPicker控件的适当方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20080569/

    10-12 13:01