【问题标题】:UITableView scrolling performance with inline pickers使用内联选择器的 UITableView 滚动性能
【发布时间】:2014-04-27 17:38:31
【问题描述】:

我有一个静态 UITableView,它使用内联选择器来允许用户更改各种属性。选择器位于其对应值单元格下方的单元格中,并隐藏起来,直到用户点击上方的单元格。

表格中有 3 个部分,共有 8 个选取器视图。

我的问题是,当用户第一次在表格视图上向下滚动时(到第 2 和第 3 部分 - 有 5 个选择器),滚动非常不稳定;这会导致糟糕的用户体验。

发生的情况是,当用户滚动时,选择器视图正在加载,因为这两个事件都发生在主线程上,所以滚动是垃圾。

有什么办法可以提高性能吗?

【问题讨论】:

    标签: ios uitableview ios7 uikit uipickerview


    【解决方案1】:

    1。如果在 didSelectRowAtIndexPath:index 之后填充 UIPickerView 的数据值/数组,则性能会影响性能,因此假设这些值已经存在,如果您使用

    static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    那么即使您使用单元格内的 UIPicker 存在问题,因为只有第一个可见单元格将被初始化一次,而后面的单元格将重新使用。

    2。另一种解决方案可以是有一个详细的 VC 用于在各种值中选择一个,或者在 UITableViewCell 中有一个 UITableView 来显示多个值而不是 UIPickerView。参考link1希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 1970-01-01
      • 2020-12-13
      • 2012-01-15
      相关资源
      最近更新 更多