ios开发之 自适应屏九宫格(第三方库Masonry)

转自 http://blog.sina.com.cn/s/blog_13fd67a560102wil5.html

//用来记录上一次创建的UILabel

UILabel *lastLabel = nil;

for (int i = 0; i < 9; i++) {

UILabel *label = [UILabel new];

label.textAlignment = NSTextAlignmentCenter;

label.text = [NSString stringWithFormat:@"~%d~",i];

[self.view addSubview:label];

[label mas_makeConstraints:^(MASConstraintMaker *make) {

//设置高度

make.height.offset(40.0f);

//计算距离顶部的公式 60 = 上一个距离顶部的高度 + UIlabel的高度

float colTop = (20 + i/3 * 60.0f);

make.top.offset(colTop);

//当是 左边一列的时候 都是 距离父视图 向左边 20的间隔

if (i%3 == 0) {

make.left.offset(20.0f);

}else{

//当时中间列的时候 在上一个UIlabel的右边 添加20个 距离 并且设置等高

make.width.equalTo(lastLabel.mas_width);

make.left.equalTo(lastLabel.mas_right).offset(20.0f);

}

//当是 最右边列的时候 距离右边父视图的 距离为20  因为是向左所以是-20  控制底部也是 负数!!

if (i%3 == 2) {

make.right.offset(-20.0f);

}

}];

lastLabel = label;

}

时间: 2024-10-13 01:23:05

ios开发之 自适应屏九宫格(第三方库Masonry)的相关文章

IOS开发笔记-百度地图(第三方库)

最近做了百度地图,在导入SDK后遇到了一些问题 编译错误: linker command failed with exit code 1 (use -v to see invocation) 想了很多办法,查了很多资料,最后终于解决. 可能原因: 1. 有重复的.m文件,或者未导入 解决办法:有重复的删除即可 在工作左边导航栏Target-->Build Phases-->compile Sources中,第三库库的所有.m文件都添加到里面 2.Valid Architectures 的值 在

iOS开发笔记 - 用CocoaPods管理第三方库

在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确配置这些第三方库会非常的繁琐,还好我们有CocoaPods来做这件事情,就如同在Java的世界里有Maven和Gradle,当然Maven的作用不仅仅是第三依赖库管理.通过CocoaPods工具我们可以为项目添加被称为"Pods"的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本. ??CocoaPods意义体现在两个方面.第一,在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段

iOS开发中抽屉效果的第三方库MMDrawerController的使用

1 // 2 3 // AppDelegate.m 4 5 // MMDrawerController 6 7 // 8 9 // Created by yl on 16/6/24. 10 11 // Copyright © 2016年 Itsimple. All rights reserved. 12 13 // 14 15 16 17 #import "AppDelegate.h" 18 19 #import "YLNavigationController.h"

Autolayout第三方库Masonry的入门与实践

在如今的iOS开发中,Autolayout已经是不得不使用了,而且是我们主动的去拥抱Autolayout.使用Autolayout最普遍的方式就是在xib或者storyboard中可视化的添加各种约束,这也是Autolayout入门需要掌握的,关于这部分内容,可以参考<iOS开发--Autolayout的实践与技巧>这篇博客.对于比较简单的App开发,可能使用可视化Autolayout也就足够了.但是如果UI布局稍微复杂多变一点,那么就不得不使用代码了.对于iOS原生的代码自动布局,真的是过于

最全面的iOS和Mac开源项目和第三方库汇总

UI 下拉刷新 EGOTableViewPullRefresh – 最早的下拉刷新控件. SVPullToRefresh – 下拉刷新控件. MJRefresh – 仅需一行代码就可以为UITableView或者CollectionView加上下拉刷新或者上拉刷新功能.可以自定义上下拉刷新的文字说明.具体使用看“使用方法”. (国人写) XHRefreshControl – XHRefreshControl 是一款高扩展性.低耦合度的下拉刷新.上提加载更多的组件.(国人写) CBStoreHou

iOS中如何使cocoapods管理第三方库

首先要进行Ruby环境搭建: 具体可以参考一下连接: http://blog.csdn.net/showhilllee/article/details/38398119 cocoapods基本的使用方法: 1.搜索第三方库在pods下支持的版本 例如项目中要是有AFNetWorking 在终端中输入 pod search AFNetWorking,可以查看到AFNetWorking最新的版本. 2.具体使用方法: >cd 到当前项目路径, >执行 vim Podfile,创建Podfile文件

关于使用第三方库masonry的代码实例

今天用自动布局纯代码的方式,并且引用第三方库写了一个微博界面的案例,其中的每个约束之间都是相互联 系的,例如label 和 text 不能设置宽度和高度的具体数值,一旦固定下来,可能会出现错误,例如不会 换行,文字显示不全等等一些列问题, 一个技巧,手动布局时,最好从一侧开始进行约束,一般推荐上面和左侧,进行约束,约束时,一定要找一个 固定的控件进行参考,在执行约束,否则,因为优先级的缘故,可能被优先级高的一方拽走,这里是要注意的 地方,下面是截取的一段实例进行了简要的说明,也对自动布局的理解做

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

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

ios开发强制横竖屏转换

第一种:手动的设置界面元素的旋转,包括状态栏.导航栏和视图.以下代码为从竖屏设置为横屏,坐标系是以竖屏的为基准,所以会出现负数的坐标值. //设置状态栏旋转 [[UIApplication sharedApplication] setStatusBarOrientation:UIDeviceOrientationLandscapeRightanimated:YES]; CGFloat duration = [UIApplication sharedApplication].statusBarOr