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;
      }
    

results matching ""

    No results matching ""