iOS开发优秀编程思想总结
九宫格计算思路
- 利用控件的
索引
计算出控件所在的行号(index / maxCol)
和列号(index % maxCol)
- 利用
列号
计算控件的x
值 - 利用
行号
计算控件的y
值 示例代码
// 一行最多4列 int maxCols = 4; // 宽度和高度 CGFloat buttonW = ScreenW / maxCols; CGFloat buttonH = buttonW; for (int i = 0; i < sqaures.count; i++) { // 创建按钮 SquareButton *button = [SquareButton buttonWithType:UIButtonTypeCustom]; // 监听点击 [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; }