这就是我所拥有的。
我有一个scrollView,我已经动态填充了UIViews项目,从上到下按日期值排序。我还在我的scrollView中添加了一个UIRefreshControl,用于“拉到刷新功能”。
因此,当用户执行“拉动刷新”时,旧项目将添加到scrollView的顶部。为此我所做的就是在我的scrollView中迭代子视图并通过重新应用框架将它们向下推。
好的,我问的是,有没有更好的方法呢?
我真的无法想象必须遍历数百甚至数千个视图并逐一推送它们。
答案 0 :(得分:1)
还有很多其他方法,我应该说有效的方法来做到这一点。我至少会给出最好的选择。
方式1.我假设你可能有一个视图数组,你在其中制作一个循环并取出视图,添加框架(通过动态计算其Y位置)并使其成为scrollView的子视图。你需要做的是当你得到一个新的视图在该数组的索引0处添加该视图,然后再次重新加载你的滚动视图。
方式2(我更喜欢):用Tableview或集合视图替换滚动视图。这些是Apple提供的更高效,内存管理和资源管理控件。 每次获得新视图时,将其添加到其第一个索引并重新加载表或集合视图。
P.S:1OS 6.0以下的集合视图不可用。
我建议使用选项2和选项1一样,你必须面对许多其他问题,如内存崩溃或性能问题。