Swift -布局框架SnapKit使用

SnapKit

1 安装

SnapKit github地址

2 文档地址
在线文档

//
//  ViewController.swift
//  SK_SnapKit
//
//  Created by coder on 2019/3/6.
//  Copyright © 2019 AlexanderYeah. All rights reserved.
//

import UIKit
import SnapKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        
        // 1 创建一个View 居中在当前视图
        let viewA = UIView();
        viewA.backgroundColor = UIColor.cyan;
        self.view.addSubview(viewA);
        viewA.snp.makeConstraints { (make) in
            make.width.equalTo(250);
            make.height.equalTo(250);
            make.center.equalTo(self.view.center);

        };
        
        // 更为简洁的语法
        viewA.snp.makeConstraints { (make) in
            // 宽高相等的操作
            make.width.height.equalTo(250);
            // 对于父视图居中操作
            make.center.equalToSuperview();
        }
        
        // 2 相对父视图Offset
        let viewB = UIView();
        viewB.backgroundColor = UIColor.orange;
        viewA.addSubview(viewB);
        viewB.snp.makeConstraints { (make) in
            make.bottom.equalToSuperview().offset(-50);
            make.left.equalToSuperview().offset(50);
            make.width.height.equalTo(50);
        };
        
        
        

        // 3 竖直水平线相等操作
        // lessThanOrEqualTo <= 操作
        let viewC = UIView();
        viewC.backgroundColor = UIColor.blue;
        viewA.addSubview(viewC);
        viewC.snp.makeConstraints { (make) in
            make.centerX.lessThanOrEqualTo(viewB.snp.left);
            make.top.equalToSuperview().offset(20);
            make.width.height.equalTo(60);
            
        }
        
        // 4 优先级设置(优先级不能大于1000,大于1000会crash)
        // 优先级高的有效执行代码
        let viewD = UIView();
        viewD.backgroundColor = UIColor.purple;
        viewA.addSubview(viewD);
        viewD.snp.makeConstraints { (make) in
            make.width.equalTo(30).priority(100);
            make.width.equalTo(60).priority(200);
            make.height.equalTo(40);
            make.right.equalToSuperview().offset(-20);
            make.top.equalToSuperview().offset(10);
        }
        
        
        
        
        
        
        
        
        
        
    }


}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值