UITableViewCell 内的 UIStackView 未按预期运行
Posted
技术标签:
【中文标题】UITableViewCell 内的 UIStackView 未按预期运行【英文标题】:UIStackView inside UITableViewCell is not acting as expected 【发布时间】:2017-01-10 20:04:36 【问题描述】:我在带有 3 个子视图的 UITableViewCell
中放置了一个 UIStackView
,并选择它来平均填充。
由于它在 iPhone 7 预览版上看起来不错,因此对于较小的屏幕,自动布局约束似乎已被打破。堆栈视图的宽度大于屏幕宽度。
我错过了什么?
【问题讨论】:
【参考方案1】:尝试在您的cellForRowAt
方法中对每个单元格的堆栈视图运行stackview.layoutIfNeeded()
。您是否还向要添加到堆栈视图的视图添加任何约束?如果您通过代码执行此操作,您可以说 newView.widthAnchor.constraint(equalToConstant: (UIScreen.main.bounds.width / 3)).isActive = true
以确保其大小正确(假设您不希望它们之间有任何空间)。
【讨论】:
我在表格视图单元格中有堆栈视图,我正在以编程方式添加视图,但问题是它如何添加多个视图。我需要根据条件以编程方式添加不同的视图。有什么解决办法吗? 我在表格视图单元格中有堆栈视图,我正在以编程方式将视图添加到堆栈视图,但问题是它如何添加多个视图。我需要根据条件以编程方式添加不同的视图。有什么解决办法吗?如果我将 1 个视图添加到 1 个单元格的堆栈中,并将 2 个视图添加到另一个单元格堆栈中,则它会添加随机视图。我什至在添加新的但无法正常工作之前删除了 cellforrowatindex 中的所有子视图。【参考方案2】:您的问题显然不在 uistackview 约束中,而是在它自己的表中。
请为表格视图添加前导和尾随约束,它将正常工作。
【讨论】:
以上是关于UITableViewCell 内的 UIStackView 未按预期运行的主要内容,如果未能解决你的问题,请参考以下文章
UITableViewCell 内的 UIView 上的 UIGestureRecognizer
UITableViewCell 内的 UIStackView
如何增加 UItableviewcell 内的 UItableview 高度?
捏放大到 UITableViewCell 内的 UIImageView
iOS - UITableViewCell 内的 UIScrollView 内的 UIView 未触发 UITapGestureRecognizer