【问题标题】:Expanding content within UIScrollView在 UIScrollView 中扩展内容
【发布时间】:2010-11-18 16:02:42
【问题描述】:

我正在构建一个基本上像多米诺骨牌一样工作的基于单元的游戏:您从中心的一个瓷砖开始,然后将其他瓷砖连接到它,可以向各个方向分支。我的游戏桌已经全部设置好并且运行良好……现在我只需要让它滚动以适应不断扩展的内容。

因此,这似乎不太适合 UIScrollView 的内置行为。一方面,单元格向各个方向扩展——可能进入UIScrollView 的负坐标空间。据我所知,UIScrollView 不允许为滚动内容区域定义具有大小和原点的实际CGRect。看来您只能为从点 (0,0) 延伸的内容区域定义宽度和高度。这是真的,还是我错过了什么?

假设我对内容区域限制的理解是正确的,那么理想情况下应该如何处理这个问题?我的首选想法是在游戏板展开时将所有子视图转移到正坐标空间,然后更新 ScrollView 的 contentOffset 属性以抵消这种转移并使过渡不可见。我只是想确保在开始开发之前我不会重新发明一个劣质的轮子。

在此先感谢您的任何想法!

【问题讨论】:

    标签: iphone objective-c ios


    【解决方案1】:

    我相信您的想法是好的,每次添加磁贴时,您可能需要调整内容视图以便能够以刚刚添加的磁贴为中心。
    因此,如果这是“向后”(-x 或 -y)并且您在您的视图之上(或几乎),您将不得不扩展您的 contentView(肯定与您为 +x、+y 所做的方式相同),因此,使用您对 contentView 的右下角所做的翻译来调整每个图块。

    【讨论】:

      【解决方案2】:

      跟进...是的,做到了。我设置了显示,以便它从左上角重新绘制单元格网格。每当在顶部或左侧添加新的一行或一列单元格时,UIScrollView 的contentOffset 就会移动新添加的像素以隐藏内容位置的变化。

      【讨论】:

        猜你喜欢
        • 2017-09-04
        • 1970-01-01
        • 2015-06-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多