具有自动布局的多个动态视图
Posted
技术标签:
【中文标题】具有自动布局的多个动态视图【英文标题】:Multiple Numbers of dynamic Views with Autolayout 【发布时间】:2015-07-28 13:13:44 【问题描述】:如您所见,我尝试构建一些完全动态的可点击视图(使用 IB 和自动布局)。我从服务器获取数据,所以在响应到达之前,我不知道我必须显示哪个视图以及应该隐藏哪些视图。
问题是,我在运行时不需要的视图不仅应该被隐藏,而且应该从tableHeaderView
中完全删除,这样被删除的视图下的视图就会出现。我知道在运行时删除Constraints
不是最佳选择,所以我尝试为四个视图设置一个固定高度(作为 NSLayoutConstraint),如果我不需要这些视图之一,我将Height Constraint
设置为零喜欢:
self.hotlineViewHeightConstraint.constant = 0.0f;
这很好用,但现在所有的子视图都出了问题(UIImageView 和标签)。因为 UIImageView 也有固定的高度和一些标签。最后但并非最不重要的一点是,标签与其父视图之间的垂直约束也是一个问题,因为它们不会自动缩小到零。我还尝试使用子视图约束的优先级,它仍然“有效”,但警告仍然存在。任何想法如何在不制作大量 NSLayoutConstraint 并将一切设置为零的情况下完成这项工作??
上面屏幕截图中的四个视图是最大视图数,因此它的视图数等于或小于此值。
【问题讨论】:
【参考方案1】:您是否考虑过将所有这些都放在另一个 UITableview 中。
【讨论】:
通常是个好主意,但是这些视图是 tableHeaderView 的一部分,所以我认为这不会起作用! 为什么这需要成为你的 headerView,你可以把这些单元格放到第 1 部分。 这是因为设计,但它似乎是目前唯一的选择,所以我会试一试!谢谢!以上是关于具有自动布局的多个动态视图的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 具有嵌入式垂直堆栈视图设置,具有自动布局和动态高度
视图中具有多个单元格标识符的自动布局 UITableViewCell