Swift
发布时间:2022-03-31 发布网站:大佬教程 code.js-code.com
大佬教程收集整理的这篇文章主要介绍了swift 自定义view的写法(内有仿照OC中block的 swift闭包的调用),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
概述
http://blog.csdn.net/syg90178aw/article/details/47020097 自定义view (一)常用的写法 [objc] view plain copy // 自定义View
import UIKit
private let KLMargin:CGFloat = 10 private let KLLabelHeight:C
http://blog.csdn.net/syg90178aw/article/details/47020097
@H_
618_16@
自定义view
@H_
618_16@ (一)常用的写法
@H_
618_16@
-
-
- importUIKit
- privateletKLMargin:CGFloat=10
- KLLabelHeight:CGFloat=30
-
- classCustomView:UIView{
-
- varbuttonCallBACk:(()->())?
- //重写init方法
- overrideinit(frame:CGRect){
- super.init(frame:framE)
- self.BACkgroundColor=UIColor.orangeColor()
- letlable:UILabel=UILabel(frame:CGRectMake(KLMargin,KLMargin,KLScreenWidth-(2@H_674_143@2*KLMargin),KLLabelHeight))
- lable.text="我丫就是一label"
- lable.textAlignment=NSTextAlignment.Center
- lable.BACkgroundColor=UIColor.lightGrayColor()
- self.addSubview(lablE)
- letbutton:UIButton=UIButton.buttonWithType(UIButtonType.Custom)as!UIButton
- button.frame=CGRectMake(KLMargin,CGRectGetMaxY(lable.frame)+KLMargin,KLLabelHeight)
- button.BACkgroundColor=UIColor.lightTextColor()
- button.settitle("俺是个按钮啊",forState:UIControlState.Normal)
- button.addTarget(@H_674_143@self,0); BACkground-color:inherit">action:SELEctor("buttonCllick:"),0); BACkground-color:inherit">forControlEvents:UIControlEvents.TouchUpInside)
- button.layer.cornerRadius=5
- button.clipsToBounds=@H_674_143@true
- self.addSubview(button)
- }
- //反正重写了init方法这个会根据提示@L_197_7@蹦出来
- @L_674_8@init(coderaDecoder:NSCoder){
- fatalError("init(coder:)hasnotbeenimplemented")
- }
- //按钮点击事件的调用
- funcbuttonCllick(button:UIButton){
- ifbuttonCallBACk!=@H_674_143@nil{
- buttonCallBACk!()
- //重新绘制和oc里面效果一样(其实我也不是很明白)
- overridefuncdrawRect(rect:CGRect){
- //self.BACkgroundColor=UIColor.whiteColor()
- }
在其他类的调用
@H_
874_376@copy