Swift之自定义UIView

Swift之自定义UIView,第1张

概述Swift自定义View和OC自定义View的原理都是一样的,重写init()方法或initWithFrame()方法,下面简单说说如何自定义swift UIView 主要是重写init(frame:CGRect)方法,其中required init?(coder aDecoder: NSCoder) 是必不可少的,swift语言强制要求的 //// LoginImgFieldView.swi

Swift自定义view和OC自定义view的原理都是一样的,重写init()方法或initWithFrame()方法,下面简单说说如何自定义swift UIVIEw

主要是重写init(frame:CGRect)方法,其中required init?(coder aDecoder: NSCoder) 是必不可少的,swift语言强制要求的

////  LoginimgFIEldVIEw.swift//  SmartMilk////  Created by mac on 2017/6/9.//  copyright © 2017年 mac. All rights reserved.//import UIKitlet G_headIMAGE_HEIGHT:CGfloat = 30class LoginimgFIEldVIEw: UIVIEw {    var headimgVIEw:UIImageVIEw?    var fIEld:UITextFIEld?    var line:UILabel?                /*    // Only overrIDe draw() if you perform custom drawing.    // An empty implementation adversely affects performance during animation.    overrIDe func draw(_ rect: CGRect) {        // Drawing code    }    *///    overrIDe init(){//        super.init()//        setupSubVIEws()//    }        overrIDe init(frame:CGRect){        super.init(frame: frame)        setupSubVIEws()    }        required init?(coder aDecoder: NSCoder) {        fatalError("init(coder:) has not been implemented")    }        func setupSubVIEws() {                let frame = self.bounds        //uiimageVIEw        headimgVIEw = UIImageVIEw(frame:CGRect(x:0,y:0,wIDth:G_headIMAGE_HEIGHT,height:G_headIMAGE_HEIGHT))        headimgVIEw?.backgroundcolor = UIcolor.blue                //uiTextFIEld        fIEld = UITextFIEld(frame:CGRect(x:0,wIDth:100,height:G_headIMAGE_HEIGHT))//        fIEld?.Font = UIFont.systemFont(ofSize: 15)                //uiLabel                line = UILabel(frame: CGRect(x:0,y:frame.size.height-1,wIDth:frame.size.wIDth,height:1))        line?.backgroundcolor = UIcolor.orange                self.addSubvIEw(headimgVIEw!)        self.addSubvIEw(fIEld!)        self.addSubvIEw(line!)    }            overrIDe func layoutSubvIEws() {        super.layoutSubvIEws()                let frame = self.bounds        let imgY = (frame.size.height - G_headIMAGE_HEIGHT)/2        headimgVIEw?.frame = CGRect(x:0,y:imgY,height:G_headIMAGE_HEIGHT)                //fIEld        let fIEldx = G_headIMAGE_HEIGHT+5        let fIElDWIDth = frame.size.wIDth - fIEldx                fIEld?.frame = CGRect(x: fIEldx,y: imgY,wIDth: fIElDWIDth,height: G_headIMAGE_HEIGHT)                //label        var lineFrame = line?.frame        lineFrame?.origin.y = frame.size.height - 2        lineFrame?.size.wIDth = frame.size.wIDth                line?.frame = lineFrame!            }}
总结

以上是内存溢出为你收集整理的Swift之自定义UIView全部内容,希望文章能够帮你解决Swift之自定义UIView所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1062147.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存