tim*_*one 1 uibutton ios swift
我想创建一个这样的按钮:
import UIKit
class EKLikeButton: UIButton {
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
self.layer.cornerRadius = 5.0;
self.layer.borderColor = UIColor.redColor().CGColor
self.layer.borderWidth = 1.5
self.backgroundColor = UIColor.blueColor()
self.tintColor = UIColor.whiteColor()
}
}
Run Code Online (Sandbox Code Playgroud)
但实现它的唯一方法似乎是在Storyboard中设置一个预先存在的按钮.我希望能够做到:
let btn = EKLikeButton()
btn.frame=CGRectMake(10.0, 10.0, 40.0, 40.0)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试上述内容时,我明白了
在调用中缺少参数'coder'的参数
我如何创建一个可以从Swift中的代码或故事板处理的init函数?
这就是我通常做的事情
class EKLikeButton: UIButton {
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setUp()
}
init(){
super.init(frame: CGRectZero)
setUp()
}
override init(frame: CGRect) {
super.init(frame: frame)
setUp()
}
func setUp(){
self.layer.cornerRadius = 5.0;
self.layer.borderColor = UIColor.redColor().CGColor
self.layer.borderWidth = 1.5
self.backgroundColor = UIColor.blueColor()
self.tintColor = UIColor.whiteColor()
}
}
Run Code Online (Sandbox Code Playgroud)