Swift 在UIButton中添加CAlayer不起作用
Swift 在UIButton中添加CAlayer不起作用,swift,Swift,调用这些方法表单viewDidLoad在UITextField中工作,但不在UIButton中工作 func setUnderlineTo(textFields:UITextField){ let buttonBroder = CALayer() buttonBroder.frame = CGRectMake(0.0, textFields.frame.height - 1, textFields.frame.size.width, 1.0) buttonBroder.backgroundCol
调用这些方法表单
viewDidLoad
在UITextField
中工作,但不在UIButton中工作
func setUnderlineTo(textFields:UITextField){
let buttonBroder = CALayer()
buttonBroder.frame = CGRectMake(0.0, textFields.frame.height - 1, textFields.frame.size.width, 1.0)
buttonBroder.backgroundColor = UIColor(red: 155.0/255.0, green: 205.0/255.0, blue: 210.0/255.0, alpha: 1.0).CGColor
textFields.layer.addSublayer(buttonBroder)
}
func setUnderlineToButton(button:UIButton){
let buttonBroder = CALayer()
buttonBroder.frame = CGRectMake(0.0, button.frame.height - 1, button.frame.size.width, 1.0)
buttonBroder.backgroundColor = UIColor(red: 155.0/255.0, green: 205.0/255.0, blue: 210.0/255.0, alpha: 1.0).CGColor
button.layer.addSublayer(buttonBroder)
}
日期下划线是按钮,时间和议程下划线是UIButton为我添加了一条下划线,代码如下。由于您为
UIButton
和UITextField
添加了相同的下划线,因此我将代码简化为使用父类的代码,UIView
override func viewDidLoad() {
super.viewDidLoad()
setUnderlineToButton(dateBtn)
setUnderlineTo(timeTxtField)
setUnderlineTo(agendaTxtField)
}
override func viewDidLoad() {
super.viewDidLoad()
let dateBtn = UIButton(type: UIButtonType.Custom);
dateBtn.frame = CGRectMake(50, 100, 100, 50);
dateBtn .setTitle("btn", forState: UIControlState.Normal);
dateBtn.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)
self.view.addSubview(dateBtn);
let timeTxtField:UITextField = UITextField(frame: CGRectMake(50, 150, 100,50));
self.view.addSubview(timeTxtField);
let agendaTxtField:UITextField = UITextField(frame: CGRectMake(50, 200, 100,50));
self.view.addSubview(agendaTxtField)
setUnderline(dateBtn)
setUnderline(timeTxtField)
setUnderline(agendaTxtField)
}
func setUnderline(view:UIView){
let underline = CALayer();
underline.frame = CGRectMake(0, view.frame.height - 1, view.frame.size.width, 1)
underline.backgroundColor = UIColor(red: 155.0/255.0, green: 205.0/255.0, blue: 210.0/255.0, alpha: 1.0).CGColor
view.layer.addSublayer(underline)
}