九宮格佈局

添加appView: 多行 多列 : 是通過雙層for循環實現
在去做的時候, 把 循環中 用到的 i(控制行) 和 j(控制列) 跟 i <--> y , j <--> x

九宮格佈局的實現步驟
1. 定義了列數 column
2. 定義了view的寬度和高度
3. 計算view之間的間距
4. 計算 x 和 y 的值
5. 直接進行佈局

計算行索引 和 列索引

for (int i = 0; i < self.dataArray.count; i++) {

// 計算行索引
NSInteger rowIndex = i / column;

// 計算列索引
NSInteger columIndex = i % column;
}


// 九宮格佈局
for (int i = 0; i < 3; i++) { // 控制行數

for (int j = 0; j < 3; j++) { // 控制列數

/ X = (j + 1) * margin + j * appViwWidth
// x的計算 和 列索引有關係

CGFloat appViewX = (j + 1) * margin + j * appViewWidth;

// 計算Y值的公式
// Y = margin * (i + 1) + appViewHeight * i;
// Y 值的計算和 行索引有關
CGFloat appViewY = margin * (i + 1) + appViewHeight * i;

// 所有的執行代碼
UIView *appView = [[UIView alloc] initWithFrame:CGRectMake(appViewX, appViewY, appViewWidth, appViewHeight)];

// 設置背景顏色
appView.backgroundColor = [UIColor grayColor];

// 把appView 添加到 控制器的view上
[self.view addSubview:appView];

}
}

得到對象的最大Y值
// 傳遞的參數: 想要獲取最大Y值對象的frame
CGFloat labelY = CGRectGetMaxY(appImageView.frame)

// 設置按鈕上title的字體大小
downButton.titleLabel.font = [UIFont systemFontOfSize:12];


發佈了37 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章