Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在UIScrollView中扩展内容_Iphone_Objective C_Ios - Fatal编程技术网

Iphone 在UIScrollView中扩展内容

Iphone 在UIScrollView中扩展内容,iphone,objective-c,ios,Iphone,Objective C,Ios,我正在构建一个基于细胞的游戏,它基本上就像多米诺骨牌一样工作:你从中间的一块瓷砖开始,然后连接其他可以向各个方向扩展的瓷砖。我有我的游戏桌所有设置和工作的伟大。。。现在我只需要让它滚动以适应不断扩展的内容 因此,这似乎不太适合UIScrollView的内置行为。首先,单元格向各个方向扩展–可能会进入UIScrollView的负坐标空间。据我所知,UIScrollView不允许为滚动内容区域定义实际的CGRect,其大小和原点均为。似乎只能为从点(0,0)延伸的内容区域定义宽度和高度。这是真的,还

我正在构建一个基于细胞的游戏,它基本上就像多米诺骨牌一样工作:你从中间的一块瓷砖开始,然后连接其他可以向各个方向扩展的瓷砖。我有我的游戏桌所有设置和工作的伟大。。。现在我只需要让它滚动以适应不断扩展的内容

因此,这似乎不太适合
UIScrollView
的内置行为。首先,单元格向各个方向扩展–可能会进入
UIScrollView
的负坐标空间。据我所知,
UIScrollView
不允许为滚动内容区域定义实际的
CGRect
,其大小和原点均为。似乎只能为从点(0,0)延伸的内容区域定义宽度和高度。这是真的,还是我遗漏了什么

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


提前感谢您提出的所有想法

我相信您的想法是好的,每次添加互动程序时,您可能需要调整内容视图,以便能够集中在刚刚添加的互动程序上。

因此,如果这是“向后”(-x或-y),并且您的视图位于视图顶部(或接近),则您必须扩展您的contentView(当然与您对+x、+y所做的方式相同),因此,使用您对contentView右下角的转换来调整您的每个互动程序。

我相信您的想法是好的,每次添加互动程序时,您可能需要调整内容视图,以便能够以刚刚添加的互动程序为中心。

因此,如果这是“向后”(-x或-y),并且您的视图位于视图顶部(或接近),则您必须扩展contentView(当然与+x、+y的方式相同),因此,使用您对contentView右下角的平移来调整每个分幅。

后续。。。是的,就是这样。我设置了显示,以便它从左上角重新绘制单元格网格。每当在顶部或左侧添加新的单元格行或列时,UIScrollView的
contentOffset
将按新添加的像素移动,以隐藏内容位置的更改。

后续。。。是的,就是这样。我设置了显示,以便它从左上角重新绘制单元格网格。每当在顶部或左侧添加新的单元格行或列时,UIScrollView的
contentOffset
将按新添加的像素移动,以隐藏内容位置的更改