【发布时间】:2016-02-23 23:54:50
【问题描述】:
代码:
class ViewController: UIViewController{
var button = CustomButton()
override func viewDidLoad(){
super.viewDidLoad()
button.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(button)
//add constraints and etc.
}
}
class CustomButton: UIButton{
override func layoutSubviews() {
super.layoutSubviews()
self.layer.cornerRadius = self.layer.frame.width * 0.5
self.setTitle("abc", forState: .Normal)
}
}
问题 1:为什么我必须打电话给 super.layoutSubviews() 才能让 setTitle() 工作? (即cornerRadius 确实设置了,但没有设置标题)
问题 2:我尝试将 layoutSubviews() 中的代码放入 drawRect() 中,但这不会改变 cornerRadius。
【问题讨论】: