iOS:OC九宫格的计算方法
2016-03-19 08:58
429 查看
// 每一个格子的尺寸 CGFloat gridWeight = 50; // 每个格子的宽度
CGFloat gridHeight = 70; // 每个格子的高度
// 一行的列数
int cols = 3;
</pre><pre name="code" class="objc">每一行之间的间距
CGFloat rowMargin = 10; // 以上这四个常量,当需要修改九宫格的大小或者数量的时候,只需要改变这4个值,后面的代码不变
</pre><pre name="code" class="objc">// 每一列之间的间距
CGFloat colMargin = (self.gView.framne.size.width - cols*gridWeight) / (cols - 1);
</pre><pre name="code" class="objc">// 每一个格子的索引
NSUInteger index = self.gView.subviews.count;
// 格子的X值
NSUInteger col = index % cols;
CGFloat gridX = col * (gridWeight + colMargin);
// 格子的Y值
<pre name="code" class="objc">NSUInteger row = index / cols;
CGFloat gridY = col * (gridHeight + rowMargin);
// 添加格子进gView;
<span style="font-family: Arial, Helvetica, sans-serif;">gridView.frame = CGRectMake(</span><span style="font-family: Arial, Helvetica, sans-serif;">gridX,gridY,gridWeight,gridHeight</span><span style="font-family: Arial, Helvetica, sans-serif;">);</span>
<span style="font-family: Arial, Helvetica, sans-serif;">[self.gView addSubview:gridView];</span>
<span style="font-family: Arial, Helvetica, sans-serif;"></span>
<span style="font-family: Arial, Helvetica, sans-serif;">九宫格的计算方法有很多种,这是其中一种,希望大家可以补充,谢谢!</span>
<span style="font-family: Arial, Helvetica, sans-serif;">刚写的,请斧正!</span>
相关文章推荐
- xcode 开发ios兼容性问题的上下黑边 和 coco2d-x 游戏分辨率适配 ResolutionPolicy::FIXED_WIDTH 都会引起上下黑边问题!!!
- 实现颜色渐变--iOS开发
- NavigationBar颜色不对怎么破--iOS 开发
- iOS手机摇晃事件
- NavigationController的基本使用
- 蜂窝教育iOS培训 让学员学有所用
- IOS-强指针和property属性的理解
- iOS GCD学习笔记
- iOS面向对象的建模:MVC(OC基础)
- iOS之OC面向对象的建模:MVC
- iOS下bound,center和frame
- iOS各版本特性
- IOS NavigitionController导航栏的基本设置
- iOS个人整理29-JSON与xml文件解析
- iOS--AVFoundation原生二维码与一维码扫描
- iOS程序安装格式
- iOS基本动画
- iOS 开发 入门:使用Ad Hoc 进行用户测试
- iOS第三方库AFNetworking、SDWebImage
- iOS-绘图(Quartz2D)的简单使用(原创)