swift 纯代码自定义控件

Posted ch520

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 纯代码自定义控件相关的知识,希望对你有一定的参考价值。


1、创建自定义控件


import UIKit
 
class CustomView: UIView {
    var lab:UILabel!
    var btn:UIButton!
 
    /************ 将需要添加的子控件在这里进行初始化 *****************************/
    override init(frame: CGRect) {
        super.init(frame: frame)
 
        //初始化
        lab = UILabel()
        lab.textAlignment = .center
        lab.font = UIFont.systemFont(ofSize: 12)
        self.addSubview(lab)
 
        btn = UIButton()
        self.addSubview(btn)
    }
 
    /************ 设置子控件的位置 *****************************/
    override func layoutSubviews() {
        super.layoutSubviews()
 
        // 设置 子控件 frame, 也可以在这里使用自动布局
        lab.frame = CGRect(x:10, y:10, width:100, height:40)
        btn.frame = CGRect(x:lab.frame.origin.x, y:lab.frame.maxY + 10, width:100, height:40)
    }
 
    /************ 传入model对子控件进行配置,这里暂用NSObject *****************************/
    func setUp(model:NSObject) {
        lab.text = "你好"//model.xx
        btn.setTitle("确定", for: .normal) //title:model.xx
    }
 
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
}

2、使用自定义控件

        //纯代码 view
        let view = CustomView()
        view.frame = CGRect(x:10, y:100, width:200, height:100)
        view.backgroundColor = UIColor.cyan
        view.setUp(model: "" as NSObject)
        self.view.addSubview(view)

以上是关于swift 纯代码自定义控件的主要内容,如果未能解决你的问题,请参考以下文章

ios开发UI篇—使用纯代码自定义UItableviewcell实现一个简单的微博界面布局

swift 之 纯代码创建 cell

Swift之深入解析如何将代码添加为自定义LLDB命令

美丽说demo(纯swift代码)

Xcode8+Swift3 纯代码模式实现 UICollectionView

iOS UITableView-自定义Cell