码迷,mamicode.com
首页 > 其他好文 > 详细

AutoLayout-VFL学习笔记<一>

时间:2015-05-12 11:50:17      阅读:226      评论:0      收藏:0      [点我收藏+]

标签:

  参照 AutoLayout入门和VFL经验分享实现demo

    UIView *purpleView = UIView.new;
    purpleView.backgroundColor = UIColor.purpleColor;
    purpleView.translatesAutoresizingMaskIntoConstraints = NO;
    [self addSubview:purpleView];

    
    UIView *greenView = UIView.new;
    greenView.backgroundColor = UIColor.greenColor;
    greenView.translatesAutoresizingMaskIntoConstraints = NO;
    [purpleView addSubview:greenView];
    
    UIView *redView = UIView.new;
    redView.backgroundColor = UIColor.redColor;
    redView.translatesAutoresizingMaskIntoConstraints = NO;
    [purpleView addSubview:redView];
    
    
    UIView *blueView = UIView.new;
    blueView.backgroundColor = UIColor.blueColor;
    blueView.translatesAutoresizingMaskIntoConstraints = NO;
    [self addSubview:blueView];
    
    
    
    NSDictionary *views = NSDictionaryOfVariableBindings(greenView,redView,blueView,purpleView);
    
    NSDictionary *metrics = @{@"hPadding":@15,@"vPadding":@15};

    //  greenView redView
    {
        //横向排列 superview-间距-greenView-间距-间距-redView-间距-superview
        NSString *format = @"H:|-hPadding-[greenView]-hPadding-[redView(greenView)]-hPadding-|";
        
        //限制 宽度和x坐标位置,
        NSArray *constrains1 = [NSLayoutConstraint
                                    constraintsWithVisualFormat:format // 宽度和x坐标位置,
                                    options:NSLayoutFormatAlignAllTop|NSLayoutFormatAlignAllBottom // origin.y size.height
                                    metrics:metrics
                                    views:views];
        [self addConstraints:constrains1];

        //纵向  superview-间距-greenView-间距-superview
        NSString* format2 = @"V:|-vPadding-[greenView]-vPadding-|";
        
        NSArray *constrains2 = [NSLayoutConstraint
                                constraintsWithVisualFormat:format2 // 限制y 坐标
                                options:0
                                metrics:metrics
                                views:views];
        
        /*constrains1 限制 宽度和x坐标位置
         constrains2 限制y 坐标 
         constrains1 constrains2 共同限制 高度
         */
        [self addConstraints:constrains2];
    }
    // blueView purpleView 约束条件
    {
        [self addConstraints:
         [NSLayoutConstraint constraintsWithVisualFormat:@"H:|-hPadding-[blueView]-hPadding-|" options:0 metrics:metrics views:views]];
        
        [self addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-vPadding-[purpleView]-vPadding-[blueView(purpleView)]-vPadding-|" options:NSLayoutFormatAlignAllLeft |NSLayoutFormatAlignAllRight metrics:metrics views:views]];
    }



:

技术分享技术分享


AutoLayout-VFL学习笔记<一>

标签:

原文地址:http://my.oschina.net/252072599/blog/413595

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!