/**
* 創(chuàng)建方塊
*/
- (void)createSquares:(NSArray *)sqaures
{
// 一行最多4列
int maxCols = 4;
// 寬度和高度
CGFloat buttonW = XMGScreenW / maxCols;
CGFloat buttonH = buttonW;
for (int i = 0; i<sqaures.count; i++) {
// 創(chuàng)建按鈕
XMGSqaureButton *button = [XMGSqaureButton buttonWithType:UIButtonTypeCustom];
// 監(jiān)聽點擊
[button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside];
// 傳遞模型
button.square = sqaures[i];
[self addSubview:button];
// 計算frame
int col = i % maxCols;
int row = i / maxCols;
button.x = col * buttonW;
button.y = row * buttonH;
button.width = buttonW;
button.height = buttonH;
}
// 8個方塊, 每行顯示4個, 計算行數(shù) 8/4 == 2 2
// 9個方塊, 每行顯示4個, 計算行數(shù) 9/4 == 2 3
// 7個方塊, 每行顯示4個, 計算行數(shù) 7/4 == 1 2
// 總行數(shù)
// NSUInteger rows = sqaures.count / maxCols;
// if (sqaures.count % maxCols) { // 不能整除, + 1
// rows++;
// }
// 總頁數(shù) == (總個數(shù) + 每頁的最大數(shù) - 1) / 每頁最大數(shù)
NSUInteger rows = (sqaures.count + maxCols - 1) / maxCols;
// 計算footer的高度
self.height = rows * buttonH;
}
九宮格(view,button)計算
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。
相關閱讀更多精彩內容
- NineImageView 一個簡單實用的九宮格圖片展示控件 截圖 導入 說明 自定義屬性 使用 1.在XML中 ...
- 博客地址http://blog.csdn.net/u012723976/article/details/51728700
- 九宮格計算思路 利用控件的索引index計算出控件所在的行號和列號 利用列號計算控件的x值 利用行號計算控件的y值...