【问题标题】:Creating a Custom Picker View创建自定义选取器视图
【发布时间】:2015-02-12 19:25:51
【问题描述】:

我正在尝试创建一个与 UIDatePicker 不同的可重复使用的 UIPickerView,以便在多个表视图中使用。该视图效果很好,但由于它的委托需要是它自己(为了设置组件和行),我无法在它正在使用的 tableViewControllers 中实现 didSelectRow:inComponent: 方法(更新标签和模型)。

如何继承 UIPickerView 并仍然提供委托?如果 UIDatePicker 可以做到,我猜有一个非常简单的方法。

【问题讨论】:

  • 不要继承UIPickerView。子类UIView 并让您的实现将选择器添加为子视图。根据需要定义您自己的协议。
  • 同意@rmaddy,因为你在tableview中使用它创建UITableViewCell的子类,并且单元格将成为pickerview的代表

标签: ios uikit uipickerview uicontrol


【解决方案1】:

检查UIDatePicker,它是UIControl 的子类,遵循目标-动作模式。看来Apple只是将UIPickerView作为子视图添加到UIControl。 UIDatePicker 从最初的 SDK 就已经实现了,所以我想我会坚持使用这种方法来创建自定义的、自包含的 PickerView。

有关自定义实现自定义 UIControl 的更多信息:http://www.raywenderlich.com/76433/how-to-make-a-custom-control-swift

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-24
    • 2012-07-25
    • 2015-06-12
    • 2022-08-02
    • 2018-08-23
    • 1970-01-01
    相关资源
    最近更新 更多