2019独角兽企业重金招聘Python工程师标准>>>

第三方框架Masonry

该框架可以大大简化AutoLayout使用过程中对控件添加约束的代码。 框架地址:https://github.com/SnapKit/Masonry

  • 使用步骤

    • 添加Masonry文件夹的所有源代码到项目中
    • 添加2个宏、导入主头文件
    // 只要添加了这个宏,就不用带mas_前缀
    #define MAS_SHORTHAND
    // 只要添加了这个宏,equalTo就等价于mas_equalTo
    #define MAS_SHORTHAND_GLOBALS
    // 这个头文件一定要放在上面两个宏的后面
    #import "Masonry.h"
    
  • mas_equalTo和equalTo的区别: 默认情况下,mas_equalTo有自动包装功能,比如自动将20包装为@20,equalTo没有自动包装功能,如果添加了下面的宏,那么mas_equalTo和equalTo就没有区别
#define MAS_SHORTHAND_GLOBALS
  • 添加约束的方法
// 这个方法只会添加新的约束[view makeConstraints:^(MASConstraintMaker *make) {}];// 这个方法会将以前的所有约束删掉,添加新的约束[view remakeConstraints:^(MASConstraintMaker *make) {}];// 这个方法将会覆盖以前的某些特定的约束[view updateConstraints:^(MASConstraintMaker *make) {}];
  • 约束的类型
1.尺寸:width\height\size
2.边界:left\leading\right\trailing\top\bottom
3.中心点:center\centerX\centerY
4.边界:edges
  • eg
    // 蓝色控件UIView *blueView = [[UIView alloc] init];blueView.backgroundColor = [UIColor blueColor];[self.view addSubview:blueView];// 居中(水平+垂直)// 尺寸是父控件的一半[blueView mas_makeConstraints:^(MASConstraintMaker *make) {make.size.mas_equalTo(self.view).multipliedBy(0.5);make.center.mas_equalTo(self.view);//make.centerX.mas_equalTo(self.view);//make.centerY.mas_equalTo(self.view);}];
    // 蓝色控件UIView *blueView = [[UIView alloc] init];blueView.backgroundColor = [UIColor blueColor];[self.view addSubview:blueView];// 红色控件UIView *redView = [[UIView alloc] init];redView.backgroundColor = [UIColor redColor];[self.view addSubview:redView];// 添加约束CGFloat margin = 20;CGFloat height = 50;[blueView makeConstraints:^(MASConstraintMaker *make) {//make就是指前面调用makeConstraints的对象make.left.equalTo(self.view.left).offset(margin);make.right.equalTo(redView.left).offset(-margin);make.bottom.equalTo(self.view.bottom).offset(-margin);make.height.equalTo(height);make.top.equalTo(redView.top);make.bottom.equalTo(redView.bottom);make.width.equalTo(redView.width);}];[redView makeConstraints:^(MASConstraintMaker *make) {make.right.equalTo(self.view.right).offset(-margin);}];

转载于:https://my.oschina.net/shenhuniurou/blog/633153

iOS开发之第三方框架Masonry相关推荐

  1. ios 开发常用第三方框架

    键盘管理 TPKeyboardAvoiding IQKeyboardManager(1.2.8) 弹窗HUD MBProgressHUD(0.9.2) SVProgressHUD UIView+Toa ...

  2. iOS开发常用第三方框架

    2019独角兽企业重金招聘Python工程师标准>>> 键盘管理 TPKeyboardAvoiding IQKeyboardManager(1.2.8) 弹窗HUD MBProgre ...

  3. iOS开发常用第三方开源框架

    iOS开发-常用第三方开源框架倾情整理!简书:https://www.jianshu.com/p/29cb22b13d79 iOS第三方库大全:https://blog.csdn.net/kanggu ...

  4. iOS开发 常用第三方开源框架

    iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角) 2015-04-05 15:25 2482人阅读 评论(1) 收藏 举报 开源框架 图像: 1.图片浏览控件MWPhotoBrowse ...

  5. 2018年最全iOS开发之第三方库

    最全iOS开发之第三方库 最新增加 EAIntroView 一个灵活的介绍界面,可以用作引导页 UI 下拉刷新 EGOTableViewPullRefresh– 最早的下拉刷新控件. SVPullTo ...

  6. Autolayout屏幕适配——代码实现(苹果公司 / VFL语言 / 第三方框架Masonry)

    在讲解如何通过代码来实现屏幕适配前,先来了解一下,屏幕适配中用到的约束添加的规则. 在创建约束之后,需要将其添加到作用的view上 在添加时要注意目标view需要遵循以下规则: 1. 约束规则 1&g ...

  7. iOS音频播放第三方框架FreeStreamer解析(全)

    iOS音频播放第三方框架FreeStreamer解析(全) 新项目是一款音频播放类软件,作为该项目核心功能:音频播放.第一版本是使用了系统提供的AVPlayer框架来实现音频文件的播放,再开发完成之后 ...

  8. iOS 开发之照片框架详解

    一. 概要 在 iOS 设备中,照片和视频是相当重要的一部分.最近刚好在制作一个自定义的 iOS 图片选择器,顺便整理一下 iOS 中对照片框架的使用方法.在 iOS 8 出现之前,开发者只能使用 A ...

  9. iOS开发-常用第三方开源框架介绍(你了解的ios只是冰山一角)--(转)

    图像:  1.图片浏览控件MWPhotoBrowser 实现了一个照片浏览器类似 iOS 自带的相册应用,可显示来自手机的图片或者是网络图片,可自动从网络下载图片并进行缓存.可对图片进行缩放等操作.  ...

最新文章

  1. Scrum 学习笔记
  2. 015_CSS伪元素选择器
  3. Android EditText的设置
  4. 判断目录是否存在并创建mkdir
  5. AjaxControlToolkit控件效果演示
  6. linux系统监控必备两款软件
  7. Xcode7.0.1:升级Xcode7上传AppStore失败问题
  8. 如何让apache支持php,Apache怎么才能支持PHP程序?
  9. Unity(八)脚本生命周期
  10. 查看opencv版本信息
  11. pythonai人脸识别_AI的强大!用Python实现一个简单的人脸识别
  12. C语言中用零作为终止标记,求出一批非零整数中的偶数.奇数的平均值,用零作为终止标记的程序...
  13. (Python文件处理)doc文档转UTF-8格式的TXT文档
  14. [清华集训2014]主旋律
  15. ceph(ceph是什么意思)
  16. win7怎么重置计算机,处理电脑系统怎么重置呢?教你恢复出厂设置
  17. android高德地图点平滑移动,高德地图Marker平滑移动
  18. Xinetd--01--理论
  19. jackson、fastjson、kryo、protostuff等序列化工具性能对比
  20. 零售行业数据分析,你必须要知道这些

热门文章

  1. java旋转爱心_p5.js临摹旋转爱心
  2. latex自动生成中文目录_自动生成工作表目录三种方法,看哪种适合你?
  3. Python:Django开发函数笔记:
  4. c++Error:c++调用python文件提示由于找不到python3.8.dll,无法继续运行。。。
  5. 分类模型的评估方法-F分数(F-Score)
  6. 全球及中国胶合板行业产量规模与营运能力研究报告2022版
  7. 全球及中国太阳能硅片产业供需走势及投资建设前景分析报告2021-2027年
  8. 中国高压断路器(QF)行业发展战略及创新前景展望报告2022-2028年版
  9. 构建现代产业体系 农民丰收节·林裕豪:从玉农业落实“链长制”1-09-27
  10. 中国-中东欧国家特色农产品 云上国际农民丰收节贸易会