加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

swift 纯代码自定义控件

发布时间:2020-12-14 05:12:13 所属栏目:百科 来源:网络整理
导读:1、创建自定义控件 import UIKit class CustomView: UIView { var lab:UILabel! var btn:UIButton! /************ 将需要添加的子控件在这里进行初始化 *****************************/ override init(frame: CGRect) { super.init(frame: frame) //初始化 l

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,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)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读