通过 Masonry使用纯代码方式编写 Auto Layout--配置 Masonry

Auto Layout 很 awesome 对不对,但是apple 默认的用代码写 Auto Layout 的方式实在是太鸡肋了…噩梦一样!

但是作为一个手(也)码(爱)爱(装)好(X)者,用 StoryBoard 显然不是咱的菜!

对了,忘了说一句, SizeClass 很酷,并且是用 IB 来弄的,但是先不用担心,我们至少要适配 iOS7,也就是说, Size Class 到很流行还有一段时间,到时候肯定有大神(或者是你)找出 Size Class 的代码解决方案的 !

言归正传,我们回到代码编写 Auto Layout.

原生的太麻烦,不讨论了.

我知道的两个比较好的封装是 : Masonry 和 pure layout. 但是看看 git,PureLayout 已经大半年没有更新了!所以,不考虑它了.下面我们来介绍使用 Masonry.

你可以从 github 上下载示例代码

里面的 readme 里面有安装过程

或者你也可以看我的.

1.编写 Podfile

pod ‘Masonry‘

2.进入 Podfile 目录,然后 pod install 进行自动安装

3.在任何一个全局的地方(或者任意文件中定义宏,反正保证你能使用它)

#define MAS_SHORTHAND

4.引入头文件

#import "Masonry.h"

到此,配置完成

时间: 2024-10-10 15:29:00

通过 Masonry使用纯代码方式编写 Auto Layout--配置 Masonry的相关文章

Auto Layout简单应用——以编码的方式实现Auto Layout自动布局(二)

在上一篇文章iOS学习笔记02——以编码的方式实现Auto Layout自动布局(一)中我们简单的介绍了使用Visual Format Language创建布局约束来实现自动布局,这种方法创建的布局约束能够满足大部分的布局的需求.但是想要实现类似于这样的约束:button.width = 2 * button.height就不能满足要求了,这一篇我们我们简单介绍一下如何创建这样的布局约束. Apple就是非常贴心,它为我们提供了另外一个方法创建类似于view1.attr1 = view2.att

【iOS开发】多屏尺的自动适配 AutoLayout (纯代码方式)

关于AutoLayout,最早从iOS6开始引入使用. 主要功能是使用约束,对视图进行相对布局,以适应不同屏尺的变换. 网上大量的资料都在介绍xib和storyboard,如何使用AutoLayout,说纯代码使用AutoLayout进行UI布局的越来越少.对于我这个习惯了代码UI布局的人,写个备忘: AutoLayout是什么? 使用一句Apple的官方定义的话 AutoLayout是一种基于约束的,描述性的布局系统. Auto Layout Is a Constraint-Based, De

通过纯代码方式发布WCF服务

网络上搜索WCF服务,一般是寄宿在IIS,通过WebConfig方式配服务地址,接口类型等信息,但是对于我这样的懒人,目前项目在开发阶段,实在不愿意每次添加新服务就更新配置文件,于是使用了反射来加载服务接口,并用控制台程序发布服务,贴上代码如下. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ServiceModel; using System.

Masonry -- 使用纯代码进行iOS应用的autolayout自适应布局

快速入门 安装 使用 CocoaPods 安装 pod 'Masonry' 推荐在你的在 prefix.pch 中引入头文件: // 定义这个常量,就可以在使用Masonry不必总带着前缀 `mas_`: #define MAS_SHORTHAND // 定义这个常量,以支持在 Masonry 语法中自动将基本类型转换为 object 类型: #define MAS_SHORTHAND_GLOBALS #import "Masonry.h" 使用 初始Masonry 这是使用MASCo

Masonry 使用 纯代码画面

首先下载 Masonry 是一个很方便的框架, 用来给控件做约束. 它的语法很直观, 就跟一句英语没什么区别. Masonry 简单认识 Masonry 支持的约束 : MASConstraintMaker.h文件中 /** * The following properties return a new MASViewConstraint * with the first item set to the makers associated view and the appropriate MAS

纯代码方式实现九宫格布局

功能分析: 1> 以九宫格的形式展示应用信息 2> 点击下载按钮后, 做出相应的操作 分析: 1> 找出九宫格布局的规律, 设置每个控件的x和y - y值: 用行号决定; 取整运算(控件索引/九宫格布局的列数) - x值: 用列号决定; 取模运算(控件索引%九宫格布局的列数) 2> 每个控件中包含若干子控件, 考虑用view进行包装, 便于计算 3> 抽取九宫格布局中的重要数据, 便于布局的修改 代码实现: 1 #import "ViewController.h&q

c# 纯代码方式创建快捷方式

using System; using System.Collections.Generic; using System.Text; using Microsoft.Win32; using System.Runtime.InteropServices; namespace ShortcutNamespace { class MyShortcut { [StructLayout(LayoutKind.Sequential)] public struct FILETIME { uint dwLow

IOS--纯代码方式编写View

AppDelegate: 1 #import "AppDelegate.h" 2 #import "TestController.h" 3 4 @interface AppDelegate () 5 @property(nonatomic,strong)TestController *controller; 6 @end 7 8 @implementation AppDelegate 9 10 11 - (BOOL)application:(UIApplicatio

03_MyBatis基本查询,mapper文件的定义,测试代码的编写,resultMap配置返回值,sql片段配置,select标签标签中的内容介绍,配置使用二级缓存,使用别名的数据类型,条件查询ma

 1 PersonTestMapper.xml中的内容如下: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!-- namespace:命名空间