zoukankan      html  css  js  c++  java
  • Masonry代码自动布局的简单使用。

    Masonry是用代码实现自动布局的第三方框架。

    使用之前首先要导入框架,以下是具体的代码实现。

    1.中心点与父视图相同

    #import "ViewController.h"
    #import "Masonry.h"
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];

    //    [self setView1];

    
    

    //    [self setView2];

    
    

        //[self setView3];

    
       [self setView4];
    
    }
    /**
     *  中心点与父视图相同
     */
    -(void)setView1{
        UIView *mainView = [[UIView alloc] init];
        mainView.backgroundColor = [UIColor redColor];
        [self.view addSubview:mainView];
        [mainView mas_makeConstraints:^(MASConstraintMaker *make) {
            make.center.equalTo(self.view);
            make.size.mas_equalTo(CGSizeMake(200, 200));
        }];
    }

    2.距离上下左右边距

    /**
     *  距离上下左右边距
     */
    -(void)setView2{
        UIView *mainView = [[UIView alloc] init];
        mainView.backgroundColor = [UIColor redColor];
        [self.view addSubview:mainView];
        [mainView mas_makeConstraints:^(MASConstraintMaker *make) {
            //make.edges.equalTo(self.view).with.insets(UIEdgeInsetsMake(100, 80, 50, 10));
            make.left.equalTo(self.view).with.offset(10);
            make.right.equalTo(self.view).with.offset(-20);
            make.top.equalTo(self.view).with.offset(30);
            make.bottom.equalTo(self.view).with.offset(-40);
        }];
    

     3.两个视图左右排开间距是10

    -(void)setView3{
        //左边视图
        UIView *rightView = [[UIView alloc] init];
        rightView.backgroundColor = [UIColor redColor];
        [self.view addSubview:rightView];
        //右边视图
        UIView *leftView1 = [[UIView alloc] init];
        leftView1.backgroundColor = [UIColor greenColor];
        [self.view addSubview:leftView1];
        
     [rightView mas_makeConstraints:^(MASConstraintMaker *make) {
         make.centerY.mas_equalTo(self.view.mas_centerY);
         make.height.mas_equalTo(150);
         make.width.mas_equalTo(leftView1.mas_width);
         make.left.mas_equalTo(self.view.mas_left).with.offset(10);
         make.right.mas_equalTo(leftView1.mas_left).with.offset(-10);
     }];
     [leftView1 mas_makeConstraints:^(MASConstraintMaker *make) {
            make.centerY.mas_equalTo(self.view.mas_centerY);
            make.height.mas_equalTo(150);
            make.width.mas_equalTo(rightView.mas_width);
            make.left.mas_equalTo(rightView.mas_right).with.offset(10);
            make.right.mas_equalTo(self.view.mas_right).with.offset(-10);
        }];
    }

    4.登录界面

    -(void)setView4{
        UITextField *accountTextField = [[UITextField alloc] init];
        accountTextField.backgroundColor = [UIColor redColor];
        accountTextField.placeholder = @"账号";
        [self.view addSubview:accountTextField];
        
        UITextField *secretTextField = [[UITextField alloc] init];
        secretTextField.backgroundColor = [UIColor greenColor];
        secretTextField.placeholder = @"密码";
        [self.view addSubview:secretTextField];
        UIButton *loginButton = [[UIButton alloc] init];
        loginButton.backgroundColor = [UIColor blueColor];
        [loginButton setTitle:@"登录" forState:UIControlStateNormal];
        [self.view addSubview:loginButton];
        [accountTextField mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self.view.mas_left).offset(50);
            make.right.equalTo(self.view.mas_right).offset(-50);
            make.top.equalTo(self.view.mas_top).offset(100);
            make.height.mas_equalTo(50);
        }];
        [secretTextField mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self.view.mas_left).offset(50);
            make.right.equalTo(self.view.mas_right).offset(-50);
            make.top.equalTo(accountTextField.mas_bottom).offset(40);
            make.height.mas_equalTo(50);
        }];
        [loginButton mas_makeConstraints:^(MASConstraintMaker *make) {
            make.left.equalTo(self.view.mas_left).offset(100);
            make.right.equalTo(self.view.mas_right).offset(-100);
            make.top.equalTo(secretTextField.mas_bottom).offset(40);
            make.height.mas_equalTo(50);
        }];
        
    }

    以下为源码连接地址:http://pan.baidu.com/s/1eRnfs8i

  • 相关阅读:
    Android AsyncTask
    Eclipse 快捷键
    Android JSON数据的读取和创建
    Android 原生listview item伸展收缩效果 (续)
    Android 原生listview item伸展收缩效果
    Android listview 禁止滑动
    Android R.layout. 找不到已存在的布局文件
    Android ScrollView
    Android android:clickable 问题
    Codeforces 388C Fox and Card Game (贪心博弈)
  • 原文地址:https://www.cnblogs.com/DLS520/p/5100001.html
Copyright © 2011-2022 走看看