[英]UITableView scrolling performance with inline pickers
我有一个静态UITableView,它使用嵌入式选择器来允许用户更改各种属性。 选择器位于其对应的值单元格下面的单元格中,并且隐藏起来,直到用户轻击上方的单元格为止。
表格中共有3个部分,共有8个选择器视图。
我的问题是,当用户第一次在表格视图上向下滚动(到第2和第3部分-共有5个选取器)时,滚动非常可笑; 这会带来糟糕的用户体验。
发生的事情是,随着用户滚动,加载了选择器视图,并且由于这两个事件都在主线程上发生,因此滚动是垃圾。
有什么办法可以提高性能?
1.如果在didSelectRowAtIndexPath:index之后填充了数据值/ UIPickerView数组,则性能可能会受到影响,因此假设这些值已经存在,
static NSString *CellIdentifier = @"Cell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
那么即使您在单元内部存在UIPicker的问题,您也可以获得相当大的改进的性能,因为只有第一个可见单元会被初始化一次,之后的单元会被重用。
2.另一个解决方案可以是使用详细的VC在各种值中选择一个,或者在UITableViewCell内使用UITableView而不是UIPickerView来显示多个值。 参考链接1希望这会有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.