Masnory+ SnapKit

2023-10-22 04:40
文章标签 masnory snapkit

本文主要是介绍Masnory+ SnapKit,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

文章目录

  • 前言
  • Masonry
    • 定义
    • 使用
    • 注意事项
    • 约束的方法
  • SnapKit
    • 导入


前言

记录一下关于Masonry的一些简单使用


Masonry

定义

Masnory是一个拥有自己的描述语法,相较与NSLayoutConstraints,masonry更加方便快捷,具有很高可读性的轻量级的布局框架。

使用

配置好环境后

  • 终端输入:
cd /Your Project FilePath

直接将项目拖过来就行

  • 然后终端输入
touch PodFile
  • 打开这个项目,出现了名为PodFile的文件在这里插入图片描述
  • 打开文件

在文件里编辑

platform :ios, ‘7.0’
target ‘你的项目工程名字’ do
pod ‘Masonry’
end

  • 终端输入:
pod install

然后会出现这几个文件
在这里插入图片描述

打开后缀为.xcw的文件就可以使用Masonry了

注意事项

  • 使用Masonry添加约束条件需要在addSubview方法之后。
  • equalTo: make.top.mas_equalTo(10) 顶部等于10
  • offset: make.top.mas_offset(10) 顶部距离父视图的mas_top有+10个单位,规定向下为正。
  • 视图的添加顺序需要注意

约束的方法

mas_makeConstraints()    添加约束
mas_remakeConstraints()  移除之前的约束,重新添加新的约束
mas_updateConstraints()  更新约束dividedBy()			除以某个量,用以实现按比例设置约束
multipliedBy()		乘以某个量
offset()			括号里填写偏差量
equalTo()			如果括号里填写数组,可以实现对多个控件添加同一约束;如果equalTo()内填写的内容相同,可以使用一个语句来添加多条约束

尺寸:width、height、size
边界:left、leading、right、trailing、top、bottom
中心点:center、centerX、centerY
边界:edges
偏移量:offset、insets、sizeOffset、centerOffset
priority()约束优先级(0~1000)

//  ViewController.m
//  Masonry
//
//#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];UIView *firstView = [[UIView alloc] init];firstView.backgroundColor = [UIColor blueColor];UIView *secondView = [[UIView alloc] init];secondView.backgroundColor = [UIColor grayColor];UIView *thirdView = [[UIView alloc] init];thirdView.backgroundColor = [UIColor yellowColor];[self.view addSubview:firstView];[self.view addSubview:secondView];[self.view addSubview:thirdView];[firstView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(0);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.3);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];[secondView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(50);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.4);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];[thirdView mas_makeConstraints:^(MASConstraintMaker* make) {make.left.mas_equalTo(self.view.mas_left).mas_offset(100);make.top.mas_equalTo(self.view.mas_top).mas_offset(self.view.frame.size.height * 0.5);make.width.mas_equalTo(self.view).dividedBy(5);make.height.mas_equalTo(self.view).dividedBy(5);}];// Do any additional setup after loading the view.
}

在这里插入图片描述

SnapKit

这个第三方库是Swift语言里的一个第三方库
它的作用和Masonry类似,用来约束布局

导入

和Masonry的步骤相同,只是在podfile里写入的东西是

platform :ios, '9.0' # 这里可以根据你的项目需求设置target '你的项目名称' dopod 'SnapKit'
end

进行pod install命令后就可以进行使用了

这篇关于Masnory+ SnapKit的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/259085

相关文章

iOS 开发中Masonry和SnapKit在使用上的一些区别

居中: Masonry: masonry-X居中 SnapKit: snapKit-X居中

iOS开发中在swift项目中pod snapkit库时报错

报错: [!] Pods written in Swift can only be integrated as frameworks; add use_frameworks! to your Podfile or target to opt into using it. The Swift Pod being used is: SnapKit 更改podfile文件: 在podfile文件中

iOS-使用Masnory实现UITableViewCell自适应高度

在iOS开发当中,如果涉及到UITableViewCell的一些复杂UI的绘制时难免会碰到这么一个难题:UITableViewCell的高度如何设置! 的确,我们就拿一个简单的例子来说:一个Cell上,有头像,有昵称,有评论内容,还有图片等控件,其中评论内容的字数并不能确定,那就决定了其每一个Cell的高度不定。比如下面我所做的一个项目中的评论:   图1:简单的评论 从图1中可以看到