Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift3 UICollectionViewCell上的Swift NSAutoresizingMaskLayoutConstraint发出警告,但布局工作正常_Swift3_Uicollectionviewcell_Uicollectionviewlayout_Ios Autolayout - Fatal编程技术网

Swift3 UICollectionViewCell上的Swift NSAutoresizingMaskLayoutConstraint发出警告,但布局工作正常

Swift3 UICollectionViewCell上的Swift NSAutoresizingMaskLayoutConstraint发出警告,但布局工作正常,swift3,uicollectionviewcell,uicollectionviewlayout,ios-autolayout,Swift3,Uicollectionviewcell,Uicollectionviewlayout,Ios Autolayout,我使用的UICollectionVewCell具有自定义布局,其中不同单元格的高度因单元格而异。我使用了这里描述的方法 我已经在故事板中设置了单元,所有的约束似乎都彼此满意。当我运行代码时,我得到了我想要的单元格布局。没问题 问题是,在日志中我看到一个NSAutoresizingMaskLayoutConstraint,它似乎与我自己设置的约束冲突。NSAutoresizingMaskLayoutConstraint是xcode自己添加的东西。xcode会自动将此约束放在CollectionV

我使用的UICollectionVewCell具有自定义布局,其中不同单元格的高度因单元格而异。我使用了这里描述的方法

我已经在故事板中设置了单元,所有的约束似乎都彼此满意。当我运行代码时,我得到了我想要的单元格布局。没问题

问题是,在日志中我看到一个NSAutoresizingMaskLayoutConstraint,它似乎与我自己设置的约束冲突。NSAutoresizingMaskLayoutConstraint是xcode自己添加的东西。xcode会自动将此约束放在CollectionViewCell自己的内容视图上(此内容视图仅在视图层次结构中可见,而在文档大纲中不可见)

( "", "", "", "", "", "", "" )

将尝试通过打破约束进行恢复

在UIViewAlertForUnsatifiableConstraints处创建一个符号断点,以便在调试器中捕获该断点

我看到很多其他人也有类似的问题,但关注这些帖子并尝试上面列出的所有解决方案并没有帮助我摆脱这种限制中的错误/冲突。我尝试过的一些帖子如下

其中一个解决方案几乎可以解决问题,但不能完全解决问题,就是将约束的优先级更改为999。但这会增加一些看起来不太好的小空

关于如何删除此NSAutoresizingMaskLayoutConstraint警告而不必更改手动设置的约束,有何建议


谢谢。

我意识到这是很久以前的事了,但我主要是为未来寻求帮助的人发表这篇评论

最近,我遇到了一些关于UICollectionViewCell子类的问题,该子类具有动态高度和NSAutoresizingMaskLayoutConstraint,并且还仔细阅读了您提到的其他链接,但没有成功

在我的例子中,我有两个子视图:子视图A固定到superview.top/left/right,然后将底部固定到子视图B,即固定到superview.left/right/bottom。我给了A和B显式的高度值(高度=50和高度=300,诸如此类),在那个场景中,我和你有相同的事情-一个关于约束的自动布局错误,不能同时满足,但布局本身最终很好

最后,我删除了子视图A的高度约束,而是以不同的方式进行布局,使其仍然保持适当的高度(我在其中有一个标签,因此我固定了标签的顶部/底部间距,而不是明确固定了子视图A的高度)。当我仍然能够维护所需的布局时,控制台错误消失了。所以我不知道为什么,但对我来说,当从单元格的顶部到底部都有明确的高度时,就会出现错误。将其更改为通过间距约束而不是高度约束固定一个或多个视图似乎效果更好


(对于以后拼命搜索的其他人来说,额外的后续行动是:我后来试图通过更改子视图B的高度约束常量来调整其大小,这再次导致控制台错误,但布局正确。在这种情况下,将子视图B的高度约束的优先级更改为999可以消除错误。)

非常感谢您的建议。我不得不将应用程序推送到应用商店。将在下一版本中尝试修复。
2017-02-19 21:54:28.999546 TestProject[6612:395125] [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. 
(Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)