Masonry

原创
2015/09/10 10:43
阅读数 67
- (void)viewDidLoad {
    [super viewDidLoad];
//居中显示一个View
    UIView *Views = [UIView new];
    Views.backgroundColor = [UIColor cyanColor];
    //在使用autolayout之前要把视图添加到superView上
    [self.view addSubview:Views];
    //用masonry函数来对View进行约束
//    [Views mas_makeConstraints:^(MASConstraintMaker *make) {
//        
//        //设置View居中
//        make.center.equalTo(self.view);
//        //设置View尺寸
//        make.size.mas_equalTo(CGSizeMake(300, 300));
//        
//    }];

    /**
     *   1.mas_makeConstraints 只负责添加约束 Autolayout中,不能同时存在两个对同一对象的约束
     *   2.mas_updateConstraints 针对上面的情况 会更新在block中出现的约束,确保不会出现两个相同的约束
     *   3.mas_remakeConstraints 会清除之前的所有约束 仅保留最新的约束
     */
    
    /**
     *  mas_equalTo 除了支持NSNumber的数值类型外,就只支持CGPoint  CGSize UIEdgeInsets
     */
    
#pragma 让一个View略小于superView
    
    UIView *IView = [UIView new];
    IView.backgroundColor = [UIColor orangeColor];
    [self.view addSubview:IView];
//    [IView mas_makeConstraints:^(MASConstraintMaker *make) {
////        make.top.equalTo(Views).with.offset(10);
////        make.left.equalTo(Views).with.offset(10);
////        make.bottom.equalTo(Views).with.offset(-10);
////        make.right.equalTo(Views).with.offset(-10);
//        //等价
////        make.top.left.and.right.bottom.equalTo(Views).with.insets(UIEdgeInsetsMake(10, 10, 10, 10));
//        //等价
//        make.edges.equalTo(Views).with.insets(UIEdgeInsetsMake(15, 15, 15, 15));
//        
//    }];
   
#pragma 垂直居中 并且等宽等间距 间隔10 宽度自动计算
    
    [Views mas_makeConstraints:^(MASConstraintMaker *make) {
       
        make.centerY.mas_equalTo(self.view.mas_centerY);
        make.left.equalTo(self.view.mas_left).with.offset(10);
        make.right.equalTo(IView.mas_left).with.offset(-10);
        make.height.mas_equalTo(@150);
        make.width.equalTo(IView);
        
    }];
    
    [IView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.centerY.mas_equalTo(self.view.mas_centerY);
        make.left.equalTo(Views.mas_right).with.offset(10);
        make.right.equalTo(self.view.mas_right).with.offset(-10);
        make.height.equalTo(Views);
        make.width.equalTo(Views);
        
    }];
    
    
    

}


展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部