我正在尝试创建一个表视图,其中表视图单元格包含滚动视图。滚动视图每个可包含一个或两个页面的一个图像视图。请注意,滚动视图仅水平滚动,因此不会干扰将垂直滚动的表视图的滚动视图。根据内容,我希望使用这些图像视图更新滚动视图,并根据我从服务器收到的响应设置滚动视图内容大小,指示应用程序显示哪些图像。
为了做到这一点,我最初想到创建一个自定义的UITableViewCell子类,并在其中完成我所有的视图初始化。
然而,我只是在考虑性能和记忆。我知道iOS会在需要时自动释放已经看过的视图和单元格,并且当它尝试显示新内容时(通过使用重用标识符)它会重用旧单元格。但是,每个单元格都将包含一个滚动视图,其内容大小和子视图将在每个单元格中更改。我想使用重用标识符来确保最佳性能。
有人能指出我可以设置这样的单元格的重用,并成功更改每个滚动视图的内容吗?
感谢。
答案 0 :(得分:1)
您可以使reuseIdentifier动态化 例如“cell_with_1”,“cell_with_2”,“cell_with_x”,其中x是图像数量
这种方式可以在合理时重复使用相等的单元格(例如,当视图中的图像数量相同时):“最坏情况”不会重复使用,并且尝试一点点开销,但总的来说我认为它有益: )
*分配解除分配和子视图的基本添加是昂贵的..改变帧或图像对我来说似乎是合理的