使用内联选择器的 UITableView 滚动性能
Posted
技术标签:
【中文标题】使用内联选择器的 UITableView 滚动性能【英文标题】:UITableView scrolling performance with inline pickers 【发布时间】:2014-04-27 17:38:31 【问题描述】:我有一个静态 UITableView,它使用内联选择器来允许用户更改各种属性。选择器位于其对应值单元格下方的单元格中,并隐藏起来,直到用户点击上方的单元格。
表格中有 3 个部分,共有 8 个选取器视图。
我的问题是,当用户第一次在表格视图上向下滚动时(到第 2 和第 3 部分 - 有 5 个选择器),滚动非常不稳定;这会导致糟糕的用户体验。
发生的情况是,当用户滚动时,选择器视图正在加载,因为这两个事件都发生在主线程上,所以滚动是垃圾。
有什么办法可以提高性能吗?
【问题讨论】:
【参考方案1】:1。如果在 didSelectRowAtIndexPath:index 之后填充 UIPickerView 的数据值/数组,则性能会影响性能,因此假设这些值已经存在,如果您使用 static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
那么即使您使用单元格内的 UIPicker 存在问题,因为只有第一个可见单元格将被初始化一次,而后面的单元格将重新使用。 2。另一种解决方案可以是有一个详细的 VC 用于在各种值中选择一个,或者在 UITableViewCell 中有一个 UITableView 来显示多个值而不是 UIPickerView。参考link1希望对您有所帮助。
【讨论】:
以上是关于使用内联选择器的 UITableView 滚动性能的主要内容,如果未能解决你的问题,请参考以下文章