因长期使用Masonry结合Rac模式写代码,在工作中也犯下了不少错误,这儿会持续更新在Masonry的使用中遇到的各种问题。
错误code提示语:
code:130
code:130常常出现在控制器中使用Masonry,出现的原因多为参照错误。例如:在控制器中需要参照的controller.view(即,weakSelf.view),而在书写中经常会漏了.view而直接参照了weakSelf,导致Masonry的参照发生错误而崩溃。故出现code:130的时候,可以试着检查controller中的约束是否参照的是weakSelf.view而不是weakSelf。
code:339
code:339常常出现在当你Masonry要将自身的约束添加到参照的控件上时,发现找不到自身。出现的原因为,并没有将要添加约束的控件添加到自身的superView上,导致了欲添加约束时自身为空(我多用懒加载方法,所以没有添加到superView上时,自身仍是空的)。故出现code:339的时候,可以试着检查导致崩溃的控件,是否已添加到该控件本应添加的superView上。
注意:
1. 在采用Masonry添加约束时,在block内调用自身控件时,需使用weakSelf调用,若使用strongSelf调用,可能导致无法释放等诸多问题。
2.在采用Masonry添加约束时,除了label本身只需要设置两个锚点外,其余控件均需要设置四个锚点才能成功添加约束。
网友评论