zoukankan      html  css  js  c++  java
  • UIView九宫格

    // 九宫格

       

    #import "ViewController.h"
    
    @interface ViewController ()
    
    @property (nonatomic ,strong) NSArray *apps;
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
        // 1.总列数
        int totalColums = 3 ;
        
        // 2.应用的宽度高度
        CGFloat appW = 85 ;
        CGFloat appH = 85 ;
        
        // 3.间隙  = (view宽度 - (列数*宽度)) / (总列数+1)
        CGFloat margin = (self.view.frame.size.width - totalColums *appW)/(totalColums +1);
        
        // 4.根据应用个数创建对应的框框
        for (int index =0; index<self.apps.count; index++) {
    
            // 4.1 创建格子
            UIView *appView = [[UIView alloc ]init ];
            // 4.2 设置格子的颜色
            appView.backgroundColor = [UIColor redColor];
            
            // 计算行号和列号
            int row = index / totalColums;
            int col = index % totalColums;
            
            // 计算格子的位置
            CGFloat appX = margin +col *(appW+margin);
            CGFloat appY = 30 +row*(appH+margin);
            
            appView.frame = CGRectMake(appX, appY, appW, appH);
            
            // 加载
            
            [self.view addSubview:appView];
        }
        
    }
    
    - (NSArray *)apps{
        if(_apps == nil){
            
            // 1.获取plist的全路径
            NSString *path = [[ NSBundle mainBundle] pathForResource:@"app.plist" ofType:nil];
           
            // 2. 加载数组
            
            _apps = [NSArray arrayWithContentsOfFile:path];
        }
        return _apps;
    }
  • 相关阅读:
    有限制的最大连续和问题
    Codevs 5056 潜水员
    Codevs 1958 刺激
    Codevs 3731 寻找道路 2014年 NOIP全国联赛提高组
    [NOIP2014]解方程
    Codevs 3729 飞扬的小鸟
    Codevs 1689 建造高塔
    Codevs 2102 石子归并 2
    C语言基础之进制的那些事(1)
    指针
  • 原文地址:https://www.cnblogs.com/jerry1209/p/4272851.html
Copyright © 2011-2022 走看看