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

  • 相关阅读:
    【Win 10 应用开发】获取本机的IP地址
    【Win 10应用开发】延迟共享
    【Win 10 应用开发】共享目标(UWP)
    【Win 10应用开发】响应系统回退键的导航事件
    编写Windows服务疑问2:探索服务与安装器的关系
    编写Windows服务疑问1:操作过程
    服务器常见错误代码500、501、502、503、504、505
    git reset与git revert的区别
    Redis集群方案怎么做?
    ThinkPHP设计模式与Trait技术
  • 原文地址:https://www.cnblogs.com/DLS520/p/5100001.html
Copyright © 2011-2022 走看看