美文网首页
iOS适配总结

iOS适配总结

作者: 艺术农 | 来源:发表于2018-05-24 14:09 被阅读7次

学习链接:

mas_makeConstraints

mas_makeConstraints 只负责新增约束,Autolayout 不能同时存在两条针对于同一对象约束 否则会报错。
注意:在添加约束之前一定要添加到view上否则会报错。

[testView mas_makeConstraints:^(MASConstraintMaker *make) {

make.leading.equalTo(view1.mas_trailing).offset(10);

make.bottom.equalTo(view2.mas_bottom).offset(-2);

make.height.mas_equalTo(70);

make.width.mas_equalTo(50);

}];

mas_remakeConstraints

mas_remakeConstraints 会清除之前的所有约束,仅保留最新的约束。

如下:会清除原来的以view1和view2为参照的约束,保留以view3和view4为参照的约束

[testView mas_remakeConstraints :^(MASConstraintMaker *make) {

make.bottom.equalTo(view3.mas_top).offset(-10);

make.centerX.equalTo(view4.mas_centerX);

make.height.mas_equalTo(70);

make.width.mas_equalTo(50);

}];

mas_updateConstraints

mas_updateConstraints 针对上面的情况 会更新block中出现的约束,不会导致出现两个相同的约束的情况。
注意: 同一个对象 使用mas_updateConstraints 一定要保证 block中要更新的元素是其使用mas_makeConstraints 设置的约束。

如下就是正确的 则不会出现约束冲突问题

[testView mas_updateConstraints:^(MASConstraintMaker *make) {

make.bottom.equalTo(view1.mas_top).offset(-60);

必须是 同一参照对象(都是以view1)同一参照属性(都是以view1的mas_top)

}];

但是下面的就不对了,就会出现约束冲突在iOS7及其以下会出现由于约束冲突出现的崩溃。

[testView mas_updateConstraints:^(MASConstraintMaker *make) {

make.bottom.equalTo(view2.mas_top).offset(-10);

make.centerX.equalTo(view4.mas_centerX);
}];

原因1:不同一参照对象 (原来是view1 现在是view2)。

原因2 testView在mas_makeConstraints中没有设置center所以无法更新。

解决办法:使用mas_remakeConstraints清除原来的约束重新设置约束;

相关文章

  • iOS13适配

    参考: iOS13 适配踩坑 - 持续更新 iOS 13 适配要点总结 iOS 13 适配要点总结 1、prese...

  • iOS 13 适配要点总结(转)

    转自: iOS 13 适配要点总结 iOS 13适配

  • iOS 11适配

    适配网上文章很多,我只是做个总结,方便查看。 iOS 11适配: 适配 iOS11 automaticallyAd...

  • iOS 针对iOS11和 iPhone X的适配

    iOS11 & iPhoneX适配总结

  • iOS 11适配,iPhone X 适配问题

    这里详细总结了iOS 11适配,iPhone X 适配问题请戳我啊

  • 技术贴合集

    iOS网络图片尺寸适配 iOS 10 消息推送(UserNotifications)秘籍总结 静默推送 iOS 面...

  • 2019-09-20

    iOS 13 适配要点总结 - 简书 iOS 13 适配 ING... - 简书 Xcode11新建项目后的一些问...

  • 适配总结

    适配总结: 01.概念 系统适配:有时候iOS9新的方法跑到iOS8上面会报错,找不到该方法。 屏幕适配:苹果手机...

  • iOS11 & iPhoneX适配

    原文10分钟适配 iOS 11 & iPhone XiOS11 & iPhoneX适配总结 适配中的问题及解决办法...

  • iOS学习周报四

    文章 2015移动开发之iOS回顾观点:个人总结,主要是iOS App适配64位、WWDC 2015、iOS 9、...

网友评论

      本文标题:iOS适配总结

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