float:留在objective-c
问题描述:
我想让一堆按钮的行为有点像float:left在CSS中。 因此,无论何时视图改变大小,例如在方向改变时,按钮都应该调整,以便它们适合其容器视图。float:留在objective-c
在横向模式下,这个UIScrollView应该水平滚动,纵向模式下,它应该垂直滚动。
我试图在iPad YouTube应用中制作类似于“精选”标签的ScrollView。横向有4列,纵向:3列,“订阅”标签,纵向,同一视图有2列。
答
我实现了一个layout system做这样的事情。有一个演示项目,介绍如何使用它检入该存储库。我很乐意回答有关它的任何问题。这比AQGridView轻得多,所以如果你不需要他提供的额外功能,我会推荐一种类似于我的方法。
答
你可能想看看AQGridView,这基本上是一个重新实现Cocoa的NSCollectionView的:https://github.com/AlanQuatermain/AQGridView
否则,您可能需要重写你的parentView layoutSubviews,然后重新排列子视图(按钮),因此当父视图的尺寸发生变化时。
干杯,
约翰内斯
答
如果你不得不(通过重载layoutSubviews
)手动实现这一点,我认为该算法是这样的:
- 开始与X = 0,Y = 0(假设翻转坐标)
- 对于每个按钮:
- 如果(X +按钮宽度)>容器的宽度,设置X = 0,增加的Y(X,Y)
- 增加X通过按钮的
- 地点按钮宽度
+1对于一个深思熟虑和提出的问题。我只对不起,我无法回答。 – Abizern 2011-01-10 17:10:41
从我+1以及:) – Moszi 2011-01-10 23:31:08