如何使用autolayout并连续包装多个UI标签?

时间:2013-12-13 15:24:26

标签: ios autolayout

我有一个UITableViewCell子类,它显示7条信息,一条标签显示实体名称,然后是6条带有实体数据的标签。在肖像时,我希望细胞看起来像:

    | Entity Name                     |
    | [data1]     [data2]     [data3] |
    | [data4]     [data5]     [data6] |

在横向上,我希望细胞看起来像:

    | Entity Name                                          |
    | [data1]  [data2]  [data3]  [data4]  [data5]  [data6] |

我可以通过Autolayout独立完成,但是实现这两者的最佳方法是什么?有没有办法用一组约束来完成这个或者我应该在每次旋转设备时删除/添加所有必要的NSLayoutConstraints,还是有其他解决方案?

2 个答案:

答案 0 :(得分:1)

我将采取的方法是在单元格内使用UICollectionView。

这样,单元格的布局由用于执行此类操作的内容管理,如果您决定在将来添加一些标签,则添加多少标签无关紧要。

使单元格成为UICollectionViewDelegate / Datasource,以便每个单元格管理自己的布局。

答案 1 :(得分:0)

有两种方法可行。

  1. 使用UICollectionView,流程布局是其默认布局。

  2. 更新方向更改时代码中的约束,您可以检查UI元素是否超出屏幕并将其移动到新行并相应地更新以后的项目。

  3. 首先是首选。