我正在建造一个基本上像小型多米诺骨牌一样的游戏:你从中间的一个瓷砖开始,然后将额外的瓷砖连接到它可以向各个方向分支。我的游戏桌全部设置好并且工作得很好......现在我只需要滚动它以适应不断扩展的内容。
因此,这似乎不适合UIScrollView
的内置行为。首先,细胞向所有方向扩展 - 可能进入UIScrollView
的负坐标空间。据我所知,UIScrollView
不允许为滚动内容区域定义具有大小和原点的实际CGRect
。看起来您只能为从点(0,0)延伸的内容区域定义宽度和高度。这是真的,还是我错过了什么?
假设我对内容区域限制的理解是正确的,那么理想情况下如何处理这个问题呢?我的主要想法是在游戏板扩展时将所有子视图移动到正坐标空间,然后更新ScrollView的contentOffset
属性以抵消移位并使转换不可见。我只是想确保在开始开发之前我不会重新发明劣质轮。
提前感谢所有想法!
答案 0 :(得分:1)
我相信您的想法很好,每次添加图块时,您可能需要调整内容视图,以便能够以刚刚添加的图块为中心。
因此,如果这是“向后”(-x或-y)并且你的视图(或几乎),你将不得不扩展你的contentView(肯定与你对+ x,+ y的方式相同),从而,使用您在contentView的右下角进行的翻译调整每个图块。
答案 1 :(得分:0)
跟进......是的,那就做到了。我设置了显示,以便从左上角重新绘制单元格网格。每当在顶部或左侧添加新的行或单元格列时,UIScrollView的contentOffset
会移动新添加的像素以隐藏内容位置的更改。