xib、storyboard、masonry混用

有些时候我们在xib、storyboard中布置好约束后,想在某些时候使用代码改变约束,我习惯用masonry,可能会出现的问题是:

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)

这就是出现了约束冲突,在此语句下,系统会告知约束冲突的地方。怎么解决?
像我们使用xib在view上布局一个button,xib上把约束弄好后,以button上边距离父视图上边举例,想在某个时候不动xib约束,然后又可用代码控制,masonry可这样写

[self.button mas_updateConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.view.mas_top).offset(3);
 }];

然后xib中要把button上边距离父视图上边的约束的优先级不使用默认1000了,使用750,即降低优先级,这样就行了,storyboard同。


屏幕快照 2019-03-13 15.52.45.png

推荐阅读更多精彩内容

  • 我们每一个人都有这样从小随我们长大的情绪模式。有些人可能有好多个,或强或弱,无论如何,如果它影响了你现在的生活,我...
    好彩妹阅读 70评论 0 0
  • Chapter 04 第四章 无效社交的典型表现 我们评价关系亲密与否的一个方法是依据我们和对方分享了多少信息来确...
    刘八万阅读 156评论 0 2
  • 婆婆轮到我家了,她说她的眼睛模糊的什么都看不到(一听就知道使用了夸张的修辞手法),说得多了,如果置之不...
    星星有多远阅读 733评论 2 12