当不应该显示视图时,删除单元格自动布局约束的最佳方法是什么?
我们有一个单元格,其布局大约有6-7个视图。其中一种观点是对明星的评价。当星级不可用时,我们不想显示视图。目前,我们隐藏视图,但这留下了自动布局的约束。
类似问题- How to use auto-layout to move other views when a view is hidden?

这就是上面提到的观点。理想情况下,当没有可用的星级时,我们希望从它的superview中删除此视图。我们面临的问题是,如果我们从cellForRow...中的superview cellForRow...中删除视图,那么下一个单元格就会受到影响,因为视图不会再次添加。
发布于 2014-06-25 08:12:53
我发现的最佳路径是创建单独的单元布局,并根据信息是否可用来决定使用哪个布局。这意味着在IB中创建第二个原型单元,而不需要所讨论的视图和不同的约束,但可以按预期工作。在这个问题上可以考虑其他的建议。
发布于 2014-06-09 13:51:29
(我会发表评论,要求澄清,但还没有这个声誉。)
你有可能只是隐藏有关单元格的视图吗?
如果我理解你在说什么,你是在建议当你创建一个新的单元格时,从它的superview中删除这个视图会产生一个问题。因此,当您排出一个新单元格时,只需检查您的星号属性,如果下一个单元格大于0,则显示该单元格的视图。
另一种选择是将周围的视图固定在父视图上,而不是将其固定在要删除的视图上。这样,当您删除星等视图时,周围视图的布局约束将保持不变。
发布于 2014-06-10 05:30:08
记住约束(用于显示/隐藏视图)到变量中,并删除它的约束。如果需要更改视图,则删除此约束并用新约束替换。
例如:
视图有width和height作为显示和替换约束,其中width和height对于隐藏视图为零。
https://stackoverflow.com/questions/24121411
复制相似问题