代码之家  ›  专栏  ›  技术社区  ›  James Brady

将UIPickerViews添加到包含其他元素的视图中

  •  0
  • James Brady  · 技术社区  · 16 年前

    我的目标是一个带有UIPickerView和UIButton的接口。

    如果我有一个单独的.xib文件用于PickerController(其中只有一个UIPickerView),并将PickerController视图添加为主控制器中的子视图,则UIPickerView显示正确,但UIButton(位于main.xib文件中)显示不正确。这就好像添加PickerController视图接管了整个窗口并遮蔽了主视图一样。

    我尝试摆脱单独的.xib文件,而是将UIPickerView直接添加到主.xib文件中。但是,对于这种配置,我不确定如何设置委托和数据源,因为文件的所有者(主控制器)与 <UIPickerViewDataSource, UIPickerViewDelegate> 我写的类(PickerController)。

    • 每个UIPickerView我应该有一个单独的类吗?
    • 如果委托和数据源与文件所有者在不同的类中,如何连接它们?
    • 我可以将子视图添加到主视图而不干扰/遮挡主视图中的元素吗?
    1 回复  |  直到 16 年前
        1
  •  1
  •   Chris Garrett    16 年前

    做你想做的事是可能的,但它远远超出了达到预期结果的最快途径。如果你是一个新手,我会坚持简单的方法,因为可可触摸已经足够的学习曲线了。

    所以。最快的方法是让主视图子类化PickerController类。然后可以创建IB文件,使用主视图类作为文件的所有者,并连接数据源和委托。

    我从你的StackOverflow分数猜到你是一个有经验的开发人员,刚开始使用iPhone开发。上面最快的方法可能会有点奇怪,因为子类化感觉不太对劲。感觉上你应该能够组合控制器,把它们混合在一起构建一个用户界面。这是有可能的,但如果你刚开始工作的话,最终会有很多工作和一点头痛。我发现,在大多数情况下,采用更优雅的方法所带来的美学回报并不值得付出额外的努力。