您的位置:首页 > 移动开发 > IOS开发

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>

                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: