美文网首页
关于autolayout的debug警告

关于autolayout的debug警告

作者: Jin丶hy | 来源:发表于2016-05-24 18:04 被阅读128次

    今天在看之前别人写的autolayout,实在是忍受不了console弹出的一大堆的autolayout警告,于是就开始折腾了。

    console的报错

    入正题,对于

    Unable to simultaneously satisfy constraints.

    这类的警告就是控件之间的constraints有冲突了,首先上面截图的警告的意思就是

    影响constraints

    小括号里面的constraints(如上图-“影响constraints“ )与被影响的constraints(如下图-”被影响的constraints“)有冲突

    被影响的constraints

    我们可以通过修改 ”影响constraints“ 中的constraints来避免冲突。

    解决步骤:

    1.在xcode里面增加一个breakpoint来寻找报错的constraints所涉及的控件。 参考:http://staxmanade.com/2015/06/debugging-ios-autolayout-issues/

    2.当你找到”被影响的constraints“里面的控件所在的树。

    po [[0x7f83d0587450 superview] recursiveDescription]

    控件树

    找到 0x7f83d0587450 这个地址所指的控件。(在HomeFunctionView 的类里面有警告)

    V:[UIView:0x7f83d0587450]-(1)-[UIView:0x7f83d2903b40] 

    这个constraints的意思是,在垂直的方向上[UIView:0x7f83d0587450] 与[UIView:0x7f83d2903b40]中间间隔为1;

    同理:尚未所指的”影响constraints“

    V:|-(0)-[UIView:0x7f83d0587450] 

    //在垂直的方向上 [UIView:0x7f83d0587450] 与 父view 等高;

    UIView:0x7f83d0587450.height == 0.477419*HomeFunctionView:0x7f83d053a1a0.height  

    //UIView:0x7f83d0587450的高度 等于父view的0.477419

    UIView:0x7f83d2903b40.bottom == HomeFunctionView:0x7f83d053a1a0.bottom

    //UIView:0x7f83d2903b40的底边和父view的底边相等

    UIView:0x7f83d2903b40.height == 0.516129*HomeFunctionView:0x7f83d053a1a0.height

    //UIView:0x7f83d2903b40的高度等于父view的0.516

    V:[UIView:0x7f83d0587450]-(1)-[UIView:0x7f83d2903b40]>

    //在垂直的方向上[UIView:0x7f83d0587450] 与[UIView:0x7f83d2903b40]中间间隔为1;

    V:[HomeFunctionView:0x7f83d053a1a0(200.581)]

    //父view 的高度是200.581

    经过自己重新查看constraints 发现

    UIView:0x7f83d2903b40.bottom == HomeFunctionView:0x7f83d053a1a0.bottom //UIView:0x7f83d2903b40的底边和父view的底边相等

    UIView:0x7f83d2903b40.height == 0.516129*HomeFunctionView:0x7f83d053a1a0.height  //UIView:0x7f83d2903b40的高度等于父view的0.516  

    这两个constraints导致报警告。

    删除下面这个constraints 就可以了。

    UIView:0x7f83d2903b40.bottom == HomeFunctionView:0x7f83d053a1a0.bottom //UIView:0x7f83d2903b40的底边和父view的底边相等

    相关文章

      网友评论

          本文标题:关于autolayout的debug警告

          本文链接:https://www.haomeiwen.com/subject/ztpzrttx.html