zoukankan      html  css  js  c++  java
  • 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, 100, height:40)
            btn.frame = CGRect(x:lab.frame.origin.x, y:lab.frame.maxY + 10, 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, 200, height:100)
    view.backgroundColor = UIColor.cyan
    view.setUp(model: "" as NSObject)
    self.view.addSubview(view)
    
  • 相关阅读:
    Yii2 composer报错处理
    bootstrap元素居中
    前端面试题
    control-lable的用法
    jenkins持续集成搭建
    gitlab管理平台搭建
    mysql8.0.11安装
    nexus私服搭建、配置、使用
    mysql5.7.22安装
    nginx配置阿里云免费ssl证书实现https化
  • 原文地址:https://www.cnblogs.com/CH520/p/9275984.html
Copyright © 2011-2022 走看看