2

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

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

4

2 回答 2

1

我认为更好的解决方案是使用表格视图,其中单元格将贡献您的自定义视图。定位并且所有内容都将由表格视图本身处理。

于 2013-02-26T13:37:08.527 回答
0

如果您使用的是 iOS 6,那么这应该很容易受到约束。指定每个视图都位于距其上方视图的底部一定距离的位置,并且当其上方的视图移动或扩展或收缩时,该约束应强制其他所有视图移动以保持您指定的间隙。

编辑:我刚刚意识到您在 OP 中提到您可能不确定提前需要多少视图。这可能使其他人建议的表格视图方法更有利。尽管如此,仍然可以使用约束(我在这里找到了一个非常详细的教程,涵盖了所有内容)。

于 2013-02-26T13:37:30.197 回答