ios - AutoLayout系统设置的NSAutoresizingMaskLayoutConstraint引入的神秘值
问题描述
AutoLayout 正在添加一个导致冲突的 NSAutoresizingMaskLayoutConstraint,目前还不清楚在哪里以及如何。
问题是:293的高度从何而来?
UIView 层次结构:
AutoLayout 日志已编号。Xcode 标签未显示在 AutoLayout 日志中。
1号线似乎是个麻烦。基于约束,这似乎是Post View Cell
,这是一个自定义UICollectionViewCell
。
然而sizeForItemAt
UICollectionViewDelegate 函数不返回这个值。如果您将返回值硬编码为类似的CGSize(width: 300, height: 100)
,293 仍会出现在日志中。
那么 293 是从哪里来的呢?
第 2 行是代码中设置的约束,这是正确的值。这种看法应该是Attachment View
。
第 3 行和第 4 行指的是Post Content View
,这是一个UIStackView
.
第 5 行指的是Text View
.
第 6 行是指Attachment View
.
UIStackView
第 7 行是由( )设置的间距Post Content View
。
1. "<NSAutoresizingMaskLayoutConstraint:0x600002a47610 h=--& v=--& UIView:0x7facf0e126b0.height == 293 (active)>",
2. "<NSLayoutConstraint:0x600002a79a40 UIView:0x7facf0e07110.height == 280 (active)>",
3. "<NSLayoutConstraint:0x600002a785a0 V:[UIStackView:0x7facf0e12890]-(10)-| (active, names: '|':UIView:0x7facf0e126b0 )>",
4. "<NSLayoutConstraint:0x600002a79180 V:|-(10)-[UIStackView:0x7facf0e12890] (active, names: '|':UIView:0x7facf0e126b0 )>",
5. "<NSLayoutConstraint:0x600002a7cff0 'UISV-canvas-connection' UIStackView:0x7facf0e12890.top == UITextView:0x7facf283a600'hi'.top (active)>",
6. "<NSLayoutConstraint:0x600002a7cf00 'UISV-canvas-connection' V:[UIView:0x7facf0e07110]-(0)-| (active, names: '|':UIStackView:0x7facf0e12890 )>",
7. "<NSLayoutConstraint:0x600002a7d270 'UISV-spacing' V:[UITextView:0x7facf283a600'hi']-(5)-[UIView:0x7facf0e07110] (active)>"
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x600002a79a40 UIView:0x7facf0e07110.height == 280 (active)>
解决方案
NSAutoresizingMaskLayoutConstraint 可以在您有一个视图时出现(不幸的是,这translatesAutoresizingMaskIntoConstraints
是true
您在代码中创建视图时的默认设置)。确保不是这种情况。
推荐阅读
- docker - XDebug 无法从 docker 容器连接到客户端
- android - 如何在android kotlin中检查手电筒是否打开
- java - 如何让用户在运行时为 Spring-data-JPA 选择数据库
- error-handling - Fastled没有足够的CPU能力?
- reactjs - 我无法在 MS Edge 的输入字段中将文本居中对齐
- c# - 无论如何在WinForm中创建这样的圆角按钮?
- list - 如何从 Haskell 列表中的元组中的列表中查找值?
- xcode - 如何在 SF Symbol 图像上使用 minimumScaleFactor 修饰符?
- html - 如何使活动的蓝色选项卡填充背景导航栏的整个高度
- hash - 裁剪图像的哈希算法是什么?