是否有已知且经过验证的方法来管理内存,使用滚动组件,如表格或网格,而不是像Cocoa中使用的那样回收单元格?使这种布局视图所需的计算和数据源/委托调用的顺序也起作用,但也使得与单元格协调复杂动画并且滚动视图容易出错,因为在重新加载数据时必须仔细关注调用序列,滚动到偏移和布局的其他机制,影响动画的目标框架。我正在寻找一种更具声明性的方法来为滚动视图提供内容,并让它找到一种智能的方式来管理它的内存,就像浏览器在加载带有长垂直布局的图片时所做的那样。
答案 0 :(得分:0)
我发现创建自己的自定义布局类更容易,这些布局类只在我的视图上进行布局,而不是强加一个精心设计的协议,如NSTableViewDataSource等,这使得动画难以编程。我想知道我的观点到底在哪里,每个视图的完整层次结构,我不喜欢让模型与我的视图同步,所以我将数据存储在视图本身。在我看来,屏幕上的对象是我喜欢作为程序员编排的唯一对象。我希望对它们进行直接的声明控制,就像游戏程序员一样。通过直接子类化滚动视图并遵循Cocoa的常规layoutSubviews
方法之外的非常简单的布局规则来避免意外布局,我能够更好地控制我的动画并执行更复杂和流畅的动画。希望这能激励某人做同样的事情。