我的問題不是關於如何設置梯度爲UIButton
,但在哪裏設置它。這是我如何設置它:UIButton漸變效果問題viewDidLoad
let btnGradient = CAGradientLayer()
btnGradient.frame = button_start_course.bounds
btnGradient.colors = [(UIColor(red: 174.0/255.0, green: 127.0/255.0, blue: 183.0/255.0, alpha: 1.0).CGColor as CGColorRef), (UIColor(red: 78.0/255.0, green: 57.0/255.0, blue: 96.0/255.0, alpha: 1.0).CGColor as CGColorRef)]
button_start_course.layer.insertSublayer(btnGradient, atIndex: 0)
當我稱這種現象viewDidLoad
,button_start_course會產生不正確的邊界。爲了解決這個問題,我在viewDidAppear
中調用了這段代碼。它工作正常,除了最初爲設置的顏色button_start_course on storyboard
先出現,然後它變爲漸變顏色。
如何解決這個問題?
在Autolayout中,在viewDidAppear(基於屏幕大小)中可以使用正確的視圖框架。所以一種方法是,最初隱藏按鈕。在viewDidAppear中設置顏色並取消隱藏按鈕。 – miOS