UIPickerView 与新的 UITableViewController

Posted

技术标签:

【中文标题】UIPickerView 与新的 UITableViewController【英文标题】:UIPickerView vs. a new UITableViewController 【发布时间】:2011-10-13 12:29:53 【问题描述】:

您认为让用户从包含未知但数量相当少 (5-20) 项的列表中选择一项的更好方法是什么?

我应该在当前屏幕上使用 UIPickerView,还是应该推送一个新的 UITableViewController 并使用复选标记来指示所选项目(做出选择时自动弹出控制器)?

IMO 第二种选择更好,因为:

(1) 您可以同时浏览更多选项。

(2) 选择物品可以更快 - 只需触摸屏幕,很多情况下不需要滚动。

(3) UIPickerViews 倾向于(至少对我而言)滚动比我想要的更多,这会导致令人沮丧的来回移动:-)

但我仍然看到 UIPickerView 的更多实现。

【问题讨论】:

【参考方案1】:

表格有一个缺陷:正如您所说,您需要将视图控制器推到屏幕上。因此,您正在将用户从其当前数据集中导航出来。结果,除了带有选项的列表外,用户什么都看不到。 因此,如果您在屏幕上有多个数据集(例如,在表单中),我会说选择器是一个更好的解决方案。让用户多次从表单导航可能会非常混乱。 如果您有大量选项并且只显示一次(或两次),TableViewController 是一个更好的解决方案。

【讨论】:

【参考方案2】:

这真的取决于数据。如果它真的可以全部放在一个屏幕上,或者如果您要添加一个搜索框,我同意该表格可以是一个更好的解决方案。我对不同的数据使用这两种方法。一些非常连续的东西,比如以 5 分钟为增量的持续时间,似乎用选择器做得更好,特别是如果它可以使用多个***。我也将表格用作多选,并按照您的建议使用复选标记。

【讨论】:

谢谢。我假设通过“如果它真的可以全部放在一个屏幕上”,您暗示用户可能不知道如果我使用不适合的表格视图还有更多选项。好吧,我正在使用一个组样式的表格视图(一个组),所以用户会得到一个视觉线索,表明下面还有更多条目。而且我的数据不是连续的,我不需要多个***。我是否正确假设在这些情况下表格视图更好? 在这种情况下通常会更好,但这确实是对具体情况的判断。 而且有一个组肯定会清楚地表明它是可滚动的。好主意。

以上是关于UIPickerView 与新的 UITableViewController的主要内容,如果未能解决你的问题,请参考以下文章

Callback 与新的 AsyncCallback(Callback) 有啥不同?

HttpClientFactory.Create 与新的 HttpClient

Runnable::new 与新的 Runnable()

Promise.resolve 与新的 Promise(resolve)

Bootstrap 下拉菜单不与新的 Rails 布局切换

UIAlertView 显示方法与新的 UIAlertController 对象等效吗?