文档章节

OC中的布局-九宫格

AppleDream
 AppleDream
发布于 2016/05/03 16:15
字数 452
阅读 256
收藏 0

上班忙完之后稍得空闲,回想下一些OC技术,就做一下九宫格的布局与位置计算,想到哪里就写到哪喽。

关于九宫格的应用代码请点此

第一:先上一张手画版的九宫格

第二:先预先来一些变量:每一个小格width=80,height:90,x轴上的两个小格之间的间距为xMargin,那么y轴的就是yMargin,假设一行可以布局m个小格(不只是图片上的画的那样,只是个例子).mainstoryboard中有多少小格变量

为counts

xMargin=(self.fram.size.width-width*m)/(m-1);//不理解的话可以套用上面一行三格的,加深理解
yMargin自己给值就好
//接下来我们要判断,所加的小格是在第几行,第几列就可以(这个很关键)
counts=self.view.subViews.count;


//注意一点:九宫格的第一行是0行,第一列是0列(方便理解下面行列的计算)

//第几行
row=counts/m;
//当一行有三列时,那么当mainstoryboard上没有控件时counts=0,那么就是第0行
//那么添加的小格的行y轴位置就是 0*(height+yMargin)

//第几列的
//由余数来判断是第几列的
col=counts%m;
//那么当mainstoryboard上没有控件时counts=0,那么就是第0列
//那么列的x轴位置就是 0*(width+xMargin)

//当counts=4时,即mainstoryboard上已有4个格子,那么第五个位置在哪里?
//row=4/3=1   col=4%3=1  
//由上可知,即 第一行的第一列(也就是九宫格三行三列最中间那个位置)
//那么x轴    (列)1*(width+xMargin)   y轴   (行)1*(height+yMargin)

第三:九个小格布局在mainstoryboard上,

© 著作权归作者所有

AppleDream
粉丝 9
博文 92
码字总数 26198
作品 0
昆山
程序员
私信 提问
【HDU - 1043】Eight(反向bfs+康托展开)

Eight Descriptions: 简单介绍一下八数码问题: 在一个3×3的九宫格上,填有1~8八个数字,空余一个位置,例如下图: 1 2 3 4 5 6 7 8 在上图中,由于右下角位置是空的,你可以移动数字,比如...

Sky丨Star
07/19
0
0
江江/ZoomPreviewPicture

ZoomPreviewPicture 本项目受Google官方demo Zooming a View 启发,实现了点击小图放大至全屏预览,退出全屏恢复至原来位置这两个过程的动画过渡。 常见应用场景如微信朋友圈照片九宫格和微信...

江江
2018/01/07
0
0
仿微信群头像九宫格控件--LQRNineGridImageView

仿微信群头像九宫格控件 一、简介: 参照Android 仿微信群聊头像文章学习开发的一个仿微信群头像九宫格控件,感谢博主Loften93663469。 效果如下: 二、使用: 1、在自己项目中添加本项目依赖...

CSDN_LQR
2017/02/06
728
0
Vanish/NineGridView

NineGridView:九宫格图片显示器 类似微信朋友圈九宫格图片 使用方法: 1.添加Gradle依赖: dependencies{ 2.代码中使用[部分属性可直接在布局xml中定义]: //设置图片加载器,这个是必须的,...

Vanish
2016/12/06
0
0
iOS屏幕锁实现

屏幕锁实现 1.九宫格的实现 九宫格以前单独说明过 九宫格长相 图片 添加按钮 九宫格布局 2.添加手势,两种方式 1.图形界面操作 操作图片 2. 2。代码实现 3.画线与图片选中时的高亮 4.源代码地...

AppleDream
2016/06/29
41
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 年迈渔夫遭黑帮袭抢

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享Elvis Presley的单曲《White Christmas》: 《White Christmas》- Elvis Presley 手机党少年们想听歌,请使劲...

小小编辑
今天
2.1K
20
CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
9
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
12
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
19
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部