相对于另一个UIView的UIView位置

时间:2013-02-26 13:32:34

标签: ios uiview

我正在尝试创建一个自定义手风琴列表。在点击时,它应该扩展抽头线,下一行应该改变它们相对于扩展线的位置。通过再次点击它应该收缩。通过点击另一条非扩展线,展开的线应该收缩,并且点击的线应该展开。

我试图通过使用TapGestureRecognizers的子视图来解决这个问题。我有一个未定义的行数。点击时我会改变螺纹线的高度并手动重新排列以下线的位置。现在,处理扩展/收缩/定位的所有可能性变得非常困惑。我正在寻找一种更舒适的方式来处理这个问题。 有没有办法垂直对齐子视图,以便在一个高度改变时线条的位置会自动改变?

2 个答案:

答案 0 :(得分:1)

我认为更好的解决方案是使用tableView,其中单元格将提供自定义视图。定位和所有将由tableview本身处理。

答案 1 :(得分:0)

如果你正在使用iOS 6,这应该很容易受到约束。指定每个视图与其上方的视图底部相距一定距离,当其上方的视图移动或展开或收缩时,该约束应强制其他所有视图移动以保持您指定的间隙。

编辑:我刚刚意识到你在你的OP中提到过你可能不确定提前需要多少观点。这可能使其他人的表格查看方法更有利。尽管如此,我仍然可以使用约束(我发现了一个非常detailed tutorial here可以覆盖所有内容。)