九宫格排布
来源:互联网 发布:红蜘蛛屏幕测试软件 编辑:程序博客网 时间:2024/05/19 21:59
在我们设置UI时,肯定会遇到设置九宫格的效果:
如上图所示,我们如何让图片展示出来哪?
首先我们会发现:
每行的图片的 y 值是一样的-> 行数决定 y 值
每列的图片的 x 值是一样的-> 列数决定 x 值
综上所述:我们只要知道每张图片的 行数 和 列数 那么,它的坐标自然就肯定了
我们怎样确定 行数 和 列数那?
我们发现 (图片的索引 / 3 ) 就是图片的行数,(图片的索引 % 3 ) 就是图片的列数
那接下来直接上代码:
CGFloat iconViewW = 85; // 图片宽度 CGFloat iconViewH = 90; // 图片高度 int row = 3; // 排数 // 间距 CGFloat iconViewMargin = (self.view.frame.size.width - 3 * iconViewW) / (row + 1); for (int index = 0; index < 9; index++) { UIView *iconView = [[UIView alloc] init]; iconView.backgroundColor = [UIColor brownColor]; // 行号 int line = index / row; // 列号 int column = index % row; // x坐标 CGFloat iconViewX = column *(iconViewW + iconViewMargin) + iconViewMargin; // y坐标 CGFloat iconViewY = line * (iconViewH + iconViewMargin) + iconViewMargin; iconView.frame = CGRectMake(iconViewX, iconViewY, iconViewW, iconViewH); [self.view addSubview:iconView]; }
看下边的显示结果:
1 0
- 九宫格排布
- 关于CollectionView的九宫格排布,多选,全选实现及删除
- 关于CollectionView的九宫格排布,多选,全选实现及删除
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 九宫格
- 动画篇
- 纯Lua实现的Base64
- 常见面试算法之旋转打印矩阵
- c/c++ ,gettext,软件的多语言支持(i18n)
- Android如何监听蓝牙耳机和有线耳机的插拔
- 九宫格排布
- 纯Lua实现Rc4加密
- IS_ERR宏
- 【android学习】关于textview.setEllipsize(TextUtils.TruncateAt.valueOf("END"));失效
- JS 懒加载
- Git 常用命令
- 单例模式【Singleton Pattern 】
- snmpwalk命令常用方法
- 感知哈希算法(Perceptual hash algorithm)