IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> iOS——初步使用Masonry -> 正文阅读

[移动开发]iOS——初步使用Masonry

什么是Masonry

Masonry 就是第三方为我们封装好的一个 AutoLayout 框架。其使用点语法,可以非常便利的添加 AutoLayout约束,且通俗的语法让人非常容易理解。

如何使用Masonry

Masonry的使用方法十分简单

第一步:配置CocoaPod

这里不做讲解,具体可以参考下面的一篇博客
2021年CocoaPods安装方法

在你的项目中创建Podfile文件

首先打开终端输入命令cd 你的文件项目路径,可以直接拖入终端,如下所示:
在这里插入图片描述
接下来输入touch Podfile命令创建Podfile。
输入vim Podfile命令修改Podfile文件
在这里插入图片描述
加入以下几句话:
在修改前一定要按一下i,否则无法修改

platform :ios, '9.0'

target 'text' do // text为工程名
pod 'Masonry' // 引号内为添加的库

修改完之后按Esc,输入:wq,退出编辑
最后输入pod install,这样Podfile文件就配置完成了。

根据需要在代码中使用

下面是Masonry的一些API:

mas_makeConstraints()    //添加约束
mas_remakeConstraints()  //移除之前的约束,重新添加新的约束
mas_updateConstraints()  //更新约束
equalTo()       //参数是对象类型,一般是视图对象或者 mas_width 这样的坐标系对象
mas_equalTo()   //和上面功能相同,参数可以传递基础数据类型对象,可以理解为比上面的API更强大
width()         //用来表示宽度,例如代表view的宽度
mas_width()     //用来获取宽度的值。和上面的区别在于,一个代表某个坐标系对象,一个用来获取坐标系对象的值

可以注意到这些API都带有前缀mas_,我们可以在引入Masonry头文件前加入两个宏定义,就可以不用加前缀了。

// 定义这个常量,就可以不用在开发过程中使用mas_前缀。
#define MAS_SHORTHAND
// 定义这个常量,就可以让Masonry帮我们自动把基础数据类型的数据,自动装箱为对象类型。
#define MAS_SHORTHAND_GLOBALS

以下是Masonry的一些基本属性:
其基础的设置属性如下:

1.尺寸:width、height、size。
2.边界:left、leading、right、trailing、top、bottom、edges。
3.中心点:center、centerX、centerY。
4.偏移量:offset、insets、sizeOffset、centerOffset。
5.priority()约束优先级(0~1000),multipler乘因数,dividedBy除因数

大小关系有三种:

1.equalTo,相等。
2.lessThanOrEqualTo,小于等于。
3.greaterThanOrEqualTo,大于等于。

Masonry是非常方便的,它可以通过点语法来使用,我们只需要在约束中设置即可。
如下使用:

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    _startButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
    [_startButton setTitle:@"上传头像" forState:UIControlStateNormal];
    _startButton.tintColor = [UIColor blackColor];
    _startButton.titleLabel.font = [UIFont systemFontOfSize:25];
    _startButton.backgroundColor = [UIColor systemGrayColor];
    [_startButton addTarget:self action:@selector(pressButton) forControlEvents:UIControlEventTouchUpInside];
//    self.view.backgroundColor = [UIColor systemBlueColor];
    [self.view addSubview:_startButton];
    [_startButton makeConstraints:^(MASConstraintMaker *make) {
        make.width.and.height.equalTo(150);
        make.centerX.equalTo(self.view.centerX);
        make.centerY.equalTo(self.view.centerY);
    }];
}

注意这里添加约束一定要在addSubview语法后,不然就会引发错误。
文章参考:iOS——Masonry详解

小demo利用Masonry重写上传头像

完整代码上传在github。
MasonryDemo

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-09-07 10:56:29  更:2021-09-07 10:56:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:40:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码