美文网首页
Masonry在ios10&xcode8下约束问题

Masonry在ios10&xcode8下约束问题

作者: ShenYj | 来源:发表于2017-04-04 11:33 被阅读471次

从去年8月份正式升级xcode 8.0 开始,就发现一个问题

将原仿写的新浪微博项目在xcode 8下运行,会出现cell重叠的约束冲突问题,但旧项目在xcode 7.3.1下跑完全没有问题,也不会有任何约束冲突的提示

询问了身边的朋友,一直说没遇到,也可能是他们最近没有写过这块,中途忙活忘了,前阵子仿写了个项目,写到自动行高的时候又发现了这个问题,如图:

bs.gif

中途一段时间忙别的事情,再回来处理这个问题的时候跑起来发现更严重了,完全看不出每一个Cell的区域了,于是在往上搜了一下

参考链接1
参考链接2

  • 以前这种自动行高的实现方式:

    • 最底部控件设置相对于contentView的左右上自身高度约束
    • 自定义cell的contentView设置相对于self的上左右及相对于内部最底部控件的底部约束
  • 但是在xocde8&ios10下:

    • 最底部控件设置相对于contentView的左右上自身高度约束基础上+相对于contentView的底部约束
    • 自定义cell的contentView设置相对于self的上下左右四个方向约束
    [self.topic_bottom_toolbar mas_makeConstraints:^(MASConstraintMaker *make) {
        self.topic_bottom_toolbar_top_constraint = make.top.mas_equalTo(self.topic_comment_view.mas_bottom);
        make.left.right.mas_equalTo(self.contentView);
        // xocde 8 + ios 10 约束问题 (此控件高度已经在自定义视图中设置)
        make.bottom.mas_equalTo(self.contentView).mas_offset(-kMargin);
    }];
    [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.left.right.mas_equalTo(self);
        // xocde 8 + ios 10 约束问题
        make.bottom.mas_equalTo(self);
        //make.bottom.mas_equalTo(self.topic_bottom_toolbar).mas_offset(kMargin);
    }];

修复后:

bsr.gif

随着xcode和ios的升级,约束设置要求更加的严谨了

相关文章

  • Masonry在ios10&xcode8下约束问题

    从去年8月份正式升级xcode 8.0 开始,就发现一个问题 将原仿写的新浪微博项目在xcode 8下运行,会出现...

  • Autolayout

    约束优先级问题使用Masonry 约束优先级问题 使用Masonry 一行两个Label,距离屏幕左右边距各15,...

  • 10.3 Masonry多视图约束

    Masonry多视图约束 Masonry多视图约束.png

  • attempting to add unsupported at

    使用masonry, 设置约束时 约束冲突或约束不全. 而我遇到的问题时,在设置一个view约束时, 这个view...

  • iOS Masonry label自适应 以及 scrollvi

    masonry 下UILabel 宽度自适应 UIScrollView 和masonry 混用的时候可能会出现约束...

  • Masonry

    在使用Masonry进行约束时,有一些是需要注意的。 在使用Masonry添加约束之前,需要在addSubview...

  • 0707-Masonry

    Masonry masonry中去处mas的宏 masonry的使用方法 约束添加基本方式 约束的类型: 尺寸:w...

  • IOS基础-Masonry 练习-02

    Masonry练习补充内容 Masonry更新约束 添加一个按钮,点击之后变小 Masonry重置约束 它和更新类...

  • iOS Masonry使用笔记

    关于在使用Masonry中遇到的问题 一、约束警告 上面的问题是由于系统判定代码和编辑器中可能出现了重复约束,可以...

  • Masonry 通过 UIView 起动画时出现约束冲突,并且没

    概述 使用 UIView 起动画,通过 Masonry 设置的约束 发现了两个问题 并没有动画效果 Masonry...

网友评论

      本文标题:Masonry在ios10&xcode8下约束问题

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