iOS(Swift)学习笔记之SnapKit+自定义UI组件

本文为原创文章,转载请标明出处

1. 通过CocoaPods安装SnapKit

platform :ios, '10.0'

target '<Your Target Name>' do

  use_frameworks!

  pod 'SnapKit', '~> 4.0.0'

end

2. 自定义UI组件

import UIKit
import SnapKit

class CustomView: UIView {

    var isFirstLayout: Bool = true

    lazy var firstView: UIView = {
        let firstView: UIView = UIView()
        return firstView
    }()

    lazy var secondView: UIView = {
        let secondView: UIView = UIView()
        return secondView
    }()

    override init(frame: CGRect) {
        super.init(frame: frame)
        self.commonInit()
    }

    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        self.commonInit()
    }

    func commonInit() {
        self.addSubview(self.firstView)
        self.addSubview(self.secondView)
    }

    override func layoutSubviews() {
        super.layoutSubviews()

        if self.isFirstLayout {
            self.firstView.snp.makeConstraints { (make) -> Void in

            }

            self.secondView.snp.makeConstraints { (make) -> Void in

            }

            self.isFirstLayout = false
        }
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,093评论 25 709
  • 看月食 文/侯喜梅 从微信群得知,1月31日晚上全国大部分地区可观赏到月全食。且是超级蓝红...
    侯喜梅紫薇阅读 413评论 0 0
  • 我是吕乔、男朋友是顾逸。 不 现在不是了…… 三个月前 顾逸的生日会上 李悠悠回来了、真是惊艳亮相。 结果就是 我...
    无期囚徒阅读 60评论 0 0
  • 1 中午12点04分,当矿井开始崩塌犹在井里的矿工慌乱逃亡,徐向远虽然随着人流但晚了一步被突然砸下来的土块堵了去路...
    仓央格桑阅读 466评论 0 6
  • 文 | 珺如钰 - 1 - 如果你是一位女士,那么,请永远也不要忽略定期对自己子宫和乳房进行检查。 2016年回家...
    珺如钰阅读 873评论 8 12