Ios 带内联选择器的UITableView滚动性能

Ios 带内联选择器的UITableView滚动性能,ios,uitableview,ios7,uikit,uipickerview,Ios,Uitableview,Ios7,Uikit,Uipickerview,我有一个静态UITableView,它使用内联选择器允许用户更改各种属性。选择器位于其相应值单元格下方的单元格中,并隐藏起来,直到用户点击上面的单元格 表中有3个部分,共有8个选择器视图 我的问题是,当用户第一次在表视图上向下滚动到第2节和第3节时(其中有5个选择器),滚动的幅度是可笑的;这会造成糟糕的用户体验 当用户滚动时,会加载选择器视图,因为这两个事件都发生在主线程上,所以滚动是垃圾 有没有办法提高性能?1。如果UIPickerView的数据值/数组是在didSelectRowAtInde

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

表中有3个部分,共有8个选择器视图

我的问题是,当用户第一次在表视图上向下滚动到第2节和第3节时(其中有5个选择器),滚动的幅度是可笑的;这会造成糟糕的用户体验

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


有没有办法提高性能?

1。如果UIPickerView的数据值/数组是在didSelectRowAtIndexPath:index之后填充的,则性能可能会影响,因此,如果使用静态NSString*CellIdentifier=@Cell; UITableViewCell*单元格=[tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 然后,即使单元内的UIPicker有问题,您也可以获得相当大的性能改进,因为只有第一个可见的单元将被初始化一次,而随后的单元将重新启动。2.另一种解决方案是使用一个详细的VC从各种值中选择一个值,或者在UITableViewCell中使用一个UITableView来显示多个值,而不是UIPickerView。希望这有帮助