Swift之自定义UIView
来源:互联网 发布:ubuntu常用命令 编辑:程序博客网 时间:2024/06/05 23:50
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,y: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,width:G_HEADIMAGE_HEIGHT,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! }}
阅读全文
0 0
- Swift之自定义UIView
- swift UIView实现可视化自定义组件
- Swift之自定义SearchInput
- Swift之自定义UITableViewCell
- Swift之自定义UITableViewCell
- Swift之自定义UICollectionViewCell
- 自定义uiview
- 【Swift学习ing】之 UIView动画(基础篇)
- swift -UIView的使用
- Swift UIView 层次调整
- Swift UIview简单动画
- swift UIView层次调整
- swift UIView简单动画
- Swift 封装UIView
- Swift--UI--UIView
- 跟着斯坦福白胡子老头学自定义UIView动画(附iOS10 Swift代码)
- UIView自定义绘图之--各种图形的画法
- IOS图像5之UIView动画、自定义转场动画、delegate
- maven添加项目jdk编译插件
- 【牛客网】2017年6月16日秋招第二模拟 编程题3--最和谐身高队
- 使用CMake搭建OpenCV开发环境
- python 爬取网页中的图片到本地
- 递推,递归及其优化
- Swift之自定义UIView
- Java 8 Lambda : Comparator 示例
- python基础学习笔记
- QT总结之线程
- linux常用命令及操作
- 使用JS写一个计算器练习
- PHP发送邮箱激活验证
- 解决Error inflating class android.support.design.widget.FloatingActionButton
- 分析知识,解决问题,设计方案