Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 在UIButton中添加CAlayer不起作用_Swift - Fatal编程技术网

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)
}