iOS Masonry介绍与使用实践:快速上手Autolayout

如题,今天的任务是Nasonry介绍与使用实践:快速上手Autolayout & 自己App项目的适配 & 遇到的问题及解决方法。

Tips: .h与.m文件之间的切换快捷键 control + command + 上下键

Tips:如何在Xib中设置Button的属性(圆角以及背景颜色)。Inspector -- User Defined Runtime Attributes -- layer.cornerRadius & Number & 10

9月14号更新--好吧,上周五的任务成功推迟到了今天,今天咱们来会会它。

    //mas_makeConstraints 只负责新增约束 Autolayout不能同时存在两条针对于同一对象的约束 否则会报错
    - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *make))block;
    //mas_remakeConstraints 则会清除之前的所有约束 仅保留最新的约束
    - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *make))block;
    //mas_updateConstraints 针对上面的情况 会更新在block中出现的约束 不会导致出现两个相同约束的情况
    - (NSArray *)mas_remakeConstraints:(void(^)(MASConstraintMaker *make))block;

首先是如何在项目中引用第三方库的文件。即使用cocoaPods import导入时没有提示的解决办法:

选择target--> User Header Search Paths -->在后面的空白处点击。左侧的写入 $(PODS_ROOT) -- >后面的选择rucursive。即可。

好了,可以调用了。

问了下大神,技能get时间。

比如说我如果想把这张图片放在sele.view的中心,然后距离top50像素处,那么代码应该这么写。

    UIImageView *heads = [[UIImageView alloc] init];
    heads.layer.masksToBounds = YES;
    heads.layer.cornerRadius = 27;//圆角半径?
    [heads setImage:[UIImage imageNamed:@"user_head"]];
    [self.view addSubview:heads];
    [heads mas_makeConstraints:^(MASConstraintMaker *make){

        make.top.equalTo(self.view).with.offset(30);
        make.centerX.equalTo(self.view);
    }];

这里需要注意的是,自动布局是相对于superView和兄弟view的,不能相对自己来布局

所以代码中括号里面的是self.view,而不是heads。

---2015-09-15更新

上面所说的三种方法,昨天只用到了其中一种,即mas_makeConstraints。

估计自己只摸索着更表面的东西。上一个例子吧。

[loginButton mas_makeConstraints:^(MASConstraintMaker *make){

        make.left.right.and.width.equalTo(self.view);
        make.top.equalTo(centerLabel.mas_bottom).with.offset(30);
        make.height.equalTo(@50);
    }];

像这种特别简单,只需要记住一点,Masonry实现的autolayout这种布局方式是相对于superView以及它的兄弟view的,千万不能想对自己来布局。

时间: 2024-08-02 15:10:03

iOS Masonry介绍与使用实践:快速上手Autolayout的相关文章

Masonry介绍与使用实践(快速上手Autolayout)(转)

原文:http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/?sukey=fc78a68049a14bb23f9904ceb1cee7693d4a59492bdc4ab7adac872bc75badc34b073acbbde493ba3e6a69360d89a4c4 前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期

【转】Masonry介绍与使用实践(快速上手Autolayout)

原文网址:http://adad184.com/2014/09/28/use-masonry-to-quick-solve-autolayout/ 前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给

Masonry介绍与使用实践(快速上手Autolayout)

1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autores

<转帖>Masonry介绍与使用实践(快速上手Autolayout)

前言 1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时auto

Masonry介绍与使用实践(快速上手Autolayout)---【转载】

前言 MagicNumber -> autoresizingMask -> autolayout 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了以上是纯手写代码所经历的关于页面布局的三个时期 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autores

iOS开发>学无止境 - POP 介绍与使用实践(快速上手动画)

作者:里脊串(@里脊串) 网址:http://adad184.com/2015/03/11/intro-to-pop/   前言 动画在APP开发过程中 大家多多少少都会接触到 而且随着ios7的扁平化风格启用之后 越来越多的APP开始尝试加入各种绚丽的动画交互效果以增加APP的用户体验(当然 还是以国外的APP居多) 有过相关开发经验的同学肯定知道在iOS中 动画相关的部分都是基于Core Animation 但是今天我们不讨论Core Animation 今天的主角是POP -来自于Face

POP介绍与使用实践(快速上手动画)[转]

前言 动画在APP开发过程中 大家多多少少都会接触到 而且随着ios7的扁平化风格启用之后 越来越多的APP开始尝试加入各种绚丽的动画交互效果以增加APP的用户体验(当然 还是以国外的APP居多) 有过相关开发经验的同学肯定知道在iOS中 动画相关的部分都是基于Core Animation 但是今天我们不讨论Core Animation 今天的主角是POP -来自于Facebook的动画引擎(其实我不喜欢把POP定义为动画引擎 我愿意称它为函数发生器) 介绍 官方地址 https://githu

Masonry介绍与使用实践 - iOS移动开发周报

本文转发至 http://www.tuicool.com/articles/MRbaEnB/ 原文  http://www.infoq.com/cn/news/2014/11/masonry-introduction-practise 教程 <Masonry介绍与使用实践(快速上手Autolayout)> :iPhone6发布之后,我知道使用autolayout势在必行了,这时想起了以前在浏览Github看到过的一个第三方库Masonry.在花了几个小时的研究使用后,我就将autolayout

Masonry介绍与使用实践:快速上手Autolayout

以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 window的size固定为(320,480) 我们只需要简单计算一下相对位置就好了 在iphone4-iphone4s时代 苹果推出了retina屏 但是给了码农们非常大的福利:window的size不变 在iphone5-iphone5s时代 window的size变了(320,568) 这时autoresizingMask派上了用场(为啥这时候不用Autolayout? 因为还要支持ios5呗) 简单