- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
现在一直茫然地盯着这个看,可能太久了,所以我在这里尝试发帖。
这是我看到的错误:
2017-11-02 22:43:23.972361-0700 TableViewCellHeaderViewLayoutTest[88247:17250641] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x60c000092930 V:|-(12)-[UILabel:0x7fd450c0eb80'Header 1'] (active, names: '|':_UITableViewHeaderFooterContentView:0x7fd450c0f290 )>",
"<NSLayoutConstraint:0x60c0000927f0 UILabel:0x7fd450c0eb80'Header 1'.bottom == _UITableViewHeaderFooterContentView:0x7fd450c0f290.bottom - 6 (active)>",
"<NSLayoutConstraint:0x60c000092ac0 'UIView-Encapsulated-Layout-Height' _UITableViewHeaderFooterContentView:0x7fd450c0f290.height == 17.5 (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60c0000927f0 UILabel:0x7fd450c0eb80'Header 1'.bottom == _UITableViewHeaderFooterContentView:0x7fd450c0f290.bottom - 6 (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
这是我的 UITableViewHeaderFooterView
子类的 super 简单实现:
class TableViewSectionHeaderView: UITableViewHeaderFooterView {
let titleLabel = UILabel()
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
contentView.backgroundColor = .gray
titleLabel.backgroundColor = contentView.backgroundColor
titleLabel.font = UIFont.preferredFont(forTextStyle: .footnote)
contentView.addSubview(titleLabel)
titleLabel.translatesAutoresizingMaskIntoConstraints = false
titleLabel.topAnchor.constraint(equalTo: contentView.topAnchor, constant: 12).isActive = true
titleLabel.leadingAnchor.constraint(equalTo: contentView.leadingAnchor, constant: 6).isActive = true
titleLabel.bottomAnchor.constraint(equalTo: contentView.bottomAnchor, constant: -6).isActive = true
titleLabel.trailingAnchor.constraint(equalTo: contentView.trailingAnchor, constant: -6).isActive = true
}
}
对我来说最突出的是这个约束:
"<NSLayoutConstraint:0x60c000092ac0 'UIView-Encapsulated-Layout-Height' _UITableViewHeaderFooterContentView:0x7fd450c0f290.height == 17.5 (active)>"
如果我检查它,它也有 1000
的 priority
,这解释了为什么我自己的约束似乎失败了。
一切在视觉上都很好,但我担心那个警告。我做错了什么?
最佳答案
看起来部分标题高度与标签的顶部和底部约束以及实际标签的固有高度竞争。部分标题可能需要根据标签的高度增大或缩小,但严格的标题高度限制会导致冲突。
将 sectionHeaderHeight 和 estimatedSectionHeaderHeight 设置为 UITableViewAutomaticDimension 以允许根据部分的内容(在本例中为标签)调整高度。
关于ios - UITableViewHeaderFooterView 上的约束导致 UIViewAlertForUnsatisfiableConstraints,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47089241/
我在调试器日志中看到一个错误: Will attempt to recover by breaking constraint Make a symbolic breakpoint at UIView
是否有可能在生产中捕获自动布局约束歧义 - 相当于 UIViewAlertForUnsatisfiableConstraints 断点但对于生产应用程序? 我的目标是添加一个全局处理程序,将此类错误报
现在一直茫然地盯着这个看,可能太久了,所以我在这里尝试发帖。 这是我看到的错误: 2017-11-02 22:43:23.972361-0700 TableViewCellHeaderViewLayo
我昨天升级到 Xcode 10.2 并开始使用 Swift 5 并在打开我的 UIAlertController 时注意到此错误照片提示。我不记得在 Xcode 10.1 中看到过它 Will att
介绍 我正在尝试为我的 collectionView 的标题单元格提供动态单元格大小调整。用作标题的单元格也用作另一个 collectionView 中的“常规”单元格。在那里,使用动态单元格大小调整
环境 Xcode 版本 12.4 (12D4e) 场景:我发现一个区域显然违反了约束。 我将其缩小到 .navigationTitle。 import SwiftUI struct ContentVi
环境 Xcode 版本 12.4 (12D4e) 场景:我发现一个区域显然违反了约束。 我将其缩小到 .navigationTitle。 import SwiftUI struct ContentVi
我正在尝试使用 UITableViewAutomaticDimension 的组合制作可扩展的单元格单元格的行高和自动布局。为了简单起见,我从以下简单的代码开始,我希望它可以工作: import UI
UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"What would you like to do?"
我是一名优秀的程序员,十分优秀!