iOS:OC九宫格的计算方法

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








                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值