ios - AutoLayout系统设置的NSAutoresizingMaskLayoutConstraint引入的神秘值

标签 ios autolayout storyboard nslayoutconstraint

AutoLayout 正在添加一个导致冲突的 NSAutoresizingMaskLayoutConstraint,目前还不清楚在哪里以及如何。

问题是:293的高度从何而来?

UIView 层次结构:

enter image description here

AutoLayout 日志已编号。 Xcode 标签未显示在 AutoLayout 日志中。

1号线似乎是个麻烦。根据约束,这似乎是 Post View Cell ,这是一个自定义 UICollectionViewCell .

然而 sizeForItemAt UICollectionViewDelegate 函数不返回此值。如果您将返回值硬编码为 CGSize(width: 300, height: 100) , 293 仍然出现在日志中。

那么 293 是从哪里来的呢?

第 2 行是代码中设置的约束,这是正确的值。此 View 应为 Attachment View .

第 3 行和第 4 行引用 Post Content View ,这是一个 UIStackView .

第 5 行指的是 Text View .

第 6 行引用 Attachment View .

第 7 行是 UIStackView 设置的间距(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 的 View 。是 true (不幸的是,这是您在代码中创建 View 时的默认设置)。确保不是这种情况。

关于ios - AutoLayout系统设置的NSAutoresizingMaskLayoutConstraint引入的神秘值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53790691/

相关文章:

ios - 在ios 10及更高版本中以英语获取设备当前语言?

ios - View 的自动布局相同的宽度和高度?

swift - UITableView 自定义单元格高度无法正确管理 swift 中的动态约束

ios8 - 是否可以强制 UIPopoverPresentationController 重新定位弹出框而不是调整其大小?

ios - 我的 UIButton 无法在触摸时禁用?

ios - Storyboard选项卡栏未着色

ios - 如何释放在另一个函数中创建的对象?

ios - UITextView inputAccessoryView 在 iOS 8 中与键盘顶部重叠

ios - UITableView 部分标题的自动布局问题

ios - 无法在 TableView Controller 中为单元格设置自定义类