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
浮动:在objective-c中向左_Objective C_Cocoa Touch_Interface Builder_Ipad - Fatal编程技术网

浮动:在objective-c中向左

浮动:在objective-c中向左,objective-c,cocoa-touch,interface-builder,ipad,Objective C,Cocoa Touch,Interface Builder,Ipad,我试图让一堆按钮的行为有点像CSS中的float:left。 因此,每当视图改变大小时,例如在方向改变时,按钮都应进行调整,使其适合其容器视图 在横向模式下,此UIScrollView应水平滚动,在纵向模式下,应垂直滚动 我正在尝试制作一个类似iPad YouTube应用程序中“特色”标签的滚动视图。横向有4列,纵向:3列,“订阅”选项卡,纵向,同一视图有2列 您可能想查看AQGridView,它基本上是Cocoa的NSCollectionView的重新实现: 否则,您可能需要覆盖父视图中的La

我试图让一堆按钮的行为有点像CSS中的float:left。 因此,每当视图改变大小时,例如在方向改变时,按钮都应进行调整,使其适合其容器视图

在横向模式下,此UIScrollView应水平滚动,在纵向模式下,应垂直滚动

我正在尝试制作一个类似iPad YouTube应用程序中“特色”标签的滚动视图。横向有4列,纵向:3列,“订阅”选项卡,纵向,同一视图有2列


您可能想查看AQGridView,它基本上是Cocoa的NSCollectionView的重新实现:

否则,您可能需要覆盖父视图中的LayoutSubView,然后在父视图的尺寸更改时相应地重新排列子视图(按钮)

干杯


约翰内斯

我已经实现了一种方法来做这样的事情。有一个关于如何使用它的演示项目已签入该存储库。我很乐意回答关于它的任何问题。这比AQGridView要轻得多,因此如果您不需要他提供的额外功能,我建议您使用与我类似的方法。

如果您必须手动实现(通过重写),我认为算法应该是这样的:

  • 从X=0,Y=0开始(假设翻转坐标)
  • 对于每个按钮:
  • 如果(X+按钮宽度)>容器宽度,则设置X=0,增加Y
  • 将按钮放置在(X,Y)处
  • 按按钮的宽度增加X

  • +一个深思熟虑的问题。很抱歉,我无法回答。您仍然可以在我的github上找到它,但您现在应该使用Cocoa auto layout来完成此操作。