使用第三方框架 Keep Layout 实现简单的自动布局

之前有写了一篇Masonry实现自动布局的随笔,今天无聊的时候又发现了另外一个自动布局的第三方框架Keep Layout,使用起来感觉比Masonry简单一点,相比之下容易理解?

附上源码地址:https://github.com/iMartinKiss/KeepLayout

关于一些属性的介绍:

属性间的关系以及优先级:

更多内容请参考网站说明。

附上简单自动布局的代码以及效果图:

 1 - (void)viewDidLoad {
 2     [super viewDidLoad];
 3     // Do any additional setup after loading the view, typically from a nib.
 4
 5     [self setUpFourViews];
 6
 7 }
 8 - (void)setUpFourViews {
 9
10     UIView *redView = [[UIView alloc] init];
11
12     redView.backgroundColor = [UIColor redColor];
13     [self.view addSubview:redView];
14
15
16     UIView *blueView = [[UIView alloc] init];
17     blueView.backgroundColor = [UIColor blueColor];
18     [self.view addSubview:blueView];
19
20     UIView *greenView = [[UIView alloc] init];
21
22     greenView.backgroundColor = [UIColor greenColor];
23     [self.view addSubview:greenView];
24
25
26     UIView *purpleView = [[UIView alloc] init];
27     purpleView.backgroundColor = [UIColor purpleColor];
28     [self.view addSubview:purpleView];
29
30     [self testWithRedView:redView blueView:blueView];
31
32     [self testWithGreenView:greenView purpleView:purpleView];
33
34 }
35 - (void)testWithGreenView:(UIView *)greenView purpleView:(UIView *)purpleView {
36
37     greenView.keepBottomInset.equal = 30;//离父view的底部间距为30
38     greenView.keepLeftInset.equal = 30;//离父view的左间距为30
39     greenView.keepRightOffsetTo(purpleView).equal = 30;//离blueView的右边间距为30
40     greenView.keepHeight.equal = 50;//高度为50
41     greenView.keepWidthTo(purpleView).equal = 1;//宽度和blueView相等
42
43     purpleView.keepBottomAlignTo(greenView).equal = 1;//和redView的底部对齐
44     purpleView.keepRightInset.equal = 30;//离父view的右间距为30
45     purpleView.keepHeightTo(greenView).equal = 2;//高度是redView的2倍
46 }
47
48 - (void)testWithRedView:(UIView *)redView blueView:(UIView *)blueView {
49
50     redView.keepTopInset.equal = 30;//离父view的顶部间距为30
51     redView.keepRightInset.equal = 30;//离父view的右间距为30
52     redView.keepLeftInset.equal = 30;//离父view的左间距为30
53     redView.keepHeight.equal = 50;
54
55     blueView.keepLeftInset.equal = 30;//离父view的左间距为30
56     blueView.keepRightInset.equal = 30;//离父view的右间距为30
57     blueView.keepTopOffsetTo(redView).equal = 30;//离redView的顶部间距为30
58     blueView.keepHeightTo(redView).equal = 1;//高度和redView的相等
59 }

时间: 2024-10-23 02:27:42

使用第三方框架 Keep Layout 实现简单的自动布局的相关文章

使用第三方框架 Masonry 实现自动布局的简单使用

苹果自带的原生自动布局方案太过繁琐,在此介绍一个简单好用的第三方框架. 1 //设置约束 2 - (NSArray *)mas_makeConstraints:(void(^)(MASConstraintMaker *))block; 3 4 //如果之前已经有约束,则更新新的约束,如果没有约束,则添加约束 5 - (NSArray *)mas_updateConstraints:(void(^)(MASConstraintMaker *))block; 6 7 //将之前的约束全部删除,添加新

iOS技术面试07:第三方框架

1ios框架分为:cocoa Touch:UIKit.Foundation.附属框架 Media:OpenGL ES.EAGL.Quartz.Core Animation.Core Audio.                          Open Audio Library.Media Player Core Services:Address Book.Core Foundation Core OS:线程.文件.I/O.内存和网络 2iOS网络编程层次结构四意图: Cocoa层(NSUR

iOS的CocoaPods手动挡到自动挡到导入第三方框架

iOS的CocoaPods手动挡到自动挡到导入第三方框架 CocoaPods使用 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要 使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况.总之小编的意思就是,手动一个个去下载所需 类库十分麻烦.另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦.如果能有什么工具能解

[iOS]数据库第三方框架FMDB详细讲解

[iOS]数据库第三方框架FMDB详细讲解 初识FMDB iOS中原生的SQLite API在进行数据存储的时候,需要使用C语言中的函数,操作比较麻烦.于是,就出现了一系列将SQLite API进行封装的库,例如FMDB.PlausibleDatabase.sqlitepersistentobjects等. FMDB是一款简洁.易用的封装库.因此,在这里推荐使用第三方框架FMDB,它是对libsqlite3框架的封装,用起来的步骤与SQLite使用类似,并且它对于多线程的并发操作进行了处理,所以

iOS的CocoaPods手动挡到自动挡到导入第三方框架 转发

CocoaPods使用 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要 使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况.总之小编的意思就是,手动一个个去下载所需 类库十分麻烦.另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦.如果能有什么工具能解决这些恼人的 问题,那将“善莫大焉”.所以,你需要 Coc

使用CocoaPods管理第三方框架

CocoaPods是什么?用于解决什么问题这里就不废话了,直接进入正题. 一,环境介绍 Xcode:7.3.1 Mac OS 10.11.4 二,准备工作 1,诸多教程中都提及:“在安装CocoaPods之前,首先要在本地安装好Ruby环境”.总之,我没有做这一步. 2,先在终端中输入 gem source -l // 如果之前没有配置过,应该会显示如下信息. *** CURRENT SOURCES *** https://rubygems.org/ 3,由于国内网络原因(you know th

android第三方框架 xlistview 的使用

如今上拉刷新,下拉加载更多已经是浩如烟海的app的标配了 最近正好有相关的需要就去学习了一下,还是那句老话凡事都靠自己来 搞实在不是一件好事,费时费力不说可能还是在做无用功,不过自己研究学习 还是很有必要的.不多说我用到的第三方框架叫xlistview这是它的托管地址: https://github.com/Maxwin-z/XListView-Android 下载下来以后 把解压出来的内容拷贝到自己的项目下(可以自己建一个包专门存放,我是这样做的) 要注意的是layout,String和dra

iOS开发——技术精华Swift篇&Swift 2.0和Objective-C2.0混编之第三方框架的使用

Swift 2.0和Objective-C2.0混编之第三方框架的使用 swift 语言是苹果公司在2014年的WWDC大会上发布的全新的编程语言.Swift语言继承了C语言以及Objective-C的特性,且克服了C语言的兼容性问题.Swift语言采用安全编程模式,且引入了多种新功能,使得编程工作更加简便,灵活! 2015年6月9日苹果又一次给所有开发之者带来了一个惊喜,那就是今年年底swift讲开源,者队iOS开发着来说无疑是一个值得兴奋的消息,可是就在这短短的几个月里面swift吸引了越来

GitHub 里面有大量优秀的第三方框架

写iOS 程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上. GitHub 里面有大量优秀的第三方框架,而且 License 对商业很友好.一下摘录一下几乎每个项目都想集成的几个框架. SDWebImageView 1. Mantle Mantle 让我们能简化 Cocoa 和 Cocoa Touch 应用的 model 层.简单点说,程序中经常要进行网络请求,请求到得一般是 json 字符串,我们一般会建一个 Model 类来存放这些数据.这就要求我们