iOS Masonry学习

目录学习笔记应用实例 -- 照片墙学习笔记mas_makeConstraints是给view添加约束,约束有几种,分别是边距,宽,高,左上右下距离,基准线。添加过约束后可以有修正,修正有offset(位移)修正和multipliedBy(倍率)修正。mas_remakeConstraints() 移除之前的约束,重新添加新的约束mas_updateConstraints() 更新约束equalTo() 与 mas_equalTo()equalTo() 参数是对象类型,一般是视图对象或者m
摘要由CSDN通过智能技术生成

学习笔记

  • mas_makeConstraints是给view添加约束,约束有几种,分别是边距,宽,高,左上右下距离,基准线。添加过约束后可以有修正,修正有offset(位移)修正和multipliedBy(倍率)修正。
  • mas_remakeConstraints() 移除之前的约束,重新添加新的约束
  • mas_updateConstraints() 更新约束
  1. equalTo() 与 mas_equalTo()
    • equalTo() 参数是对象类型,一般是视图对象或者mas_width这样的坐标系对象
    • mas_equalTo() 和上面功能相同,参数可以传递基础数据类型对象,可以理解为比上面的API更强大
  2. width() 与mas_width()
    • width() 用来表示宽度,例如代表view的宽度
    • mas_width() 用来获取宽度的值。和上面的区别在于,一个代表某个坐标系对象,一个用来获取坐标系对象的值

注意:

  1. 使用 mas_makeConstraints方法的元素必须事先添加到父元素的中,例如[self.view addSubview:view];
  2. masequalTo 和 equalTo 区别:mas_equalTo 比 equalTo多了类型转换操作,一般来说,大多数时候两个方法都是 通用的,但是对于数值元素使用mas_equalTo。对于对象或是多个属性的处理,使用equalTo。特别是多个属性时,必须使用equalTo,例如make.left.and.right.equalTo(self.view);
  3. 注意到方法with和and,这连个方法其实没有做任何操作,方法只是返回对象本身,这这个方法的左右完全是为了方法写的时候的可读性 。
    make.left.and.right.equalTo(self.view);和make.left.right.equalTo(self.view);是完全一样的,但是明显的加了and方法的语句可读性更好点。

应用实例 – 照片墙

第一次写share时的照片墙使用了 UICollectionView,这次用Masonry重新写了一遍

  • 在"SceneDelegate.m"中
#import "ViewController.h"

@interface SceneDelegate ()

@end

@implementation SceneDelegate

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
   
    self.window = [[UIWindow alloc] initWithWindowScene:scene];
    [self.window makeKeyAndVisible];
    
    ViewController *viewController = [[ViewController alloc] init];
    
    //设置导航栏
    UINavigationController *viewNav = [[UINavigationController alloc] initWithRootViewController:viewController];
    self.window.rootViewController = viewNav;
  • 在"ViewController.m"中
@interface ViewController () <UITableViewDelegate, UITableViewDataSource>

@end

@implementation ViewController

- (void)viewDidLoad {
   
    [super viewDidLoa
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值