是否有标准的Aqua方式来处理几乎无限的文件?
例如,想象一下基于图块的游戏的关卡编辑器。该级别没有预设大小(虽然它在技术上受NSInteger
大小的限制);瓷砖可放置在网格上的任何位置。是否有滚动浏览此类文档的标准界面?
我不能简单地将滚动限制为已经包含图块的区域,因为用户需要能够在该边界之外添加图块。任意创建一个级别大小,即使它很容易被用户改变,也不是理想的。
有没有人见过处理此问题的应用程序?
答案 0 :(得分:7)
一个选项是在用户滚动区域时基本上动态扩展区域 - 只要用户在边缘的X个单位内滚动,在该方向上添加另一个单位。从本质上讲,你永远无法将“一路”滚动到边缘,因为越接近边缘就越大。
如果用户向后滚动远离边缘,则将其收缩回到不超过实际内容的X单位。
答案 1 :(得分:2)
你有没有看到Microsoft Excel为这个问题做了什么?它必须代表一个带滚动条的无界空间。
一种解决方案是为原始级别大小定义合理的空间,当用户从其边界滚动到一个图块时,添加另一行或一列图块,并相应地调整滚动条。这样,用户永远不会达到实际范围。
如果用户决定减小级别大小,那么一旦未使用的行只包含空区块,您还可以添加缩小“合理空间”的代码。这样可以避免用户遇到他们滚动的巨大水平,而无法缩小它。
编辑:与Dav的回答相同。 :)