iOS:OC九宫格的计算方法

来源:互联网 发布:支付宝与淘宝解绑不了 编辑:程序博客网 时间:2024/05/16 19:51

//  每一个格子的尺寸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>





                                             
0 0