2016-07-09 4 views
-5
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でのCALayerを追加<code>UITextField</code>で<code>viewDidLoad</code>作品これらのメソッドのフォームを呼び出す

override func viewDidLoad() { 
    super.viewDidLoad() 
setUnderlineToButton(dateBtn) 
setUnderlineTo(timeTxtField) 
setUnderlineTo(agendaTxtField) 
} 

enter image description here に日付下っ端はボタンと時間で、アジェンダの下っ端がUIButton

答えて

1

ありません下線が私のために次のコードで追加されます。 UIButtonUITextFieldの両方に同じ下線を追加するので、親クラスを使用するコードに簡略化しました。UIView

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

enter image description here

関連する問題