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>







發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章