0
タイトルラベルの色を白に変更するボタンを作成しようとしています。私のコードはそうです:タイトルラベルのテキストの色がUIButtonで正しくアニメートされない
import UIKit
class AlertStyleButton: UIButton {
var buttonColor: UIColor?
override init(frame: CGRect) {
super.init(frame: frame)
setup()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
setup()
}
func setup() {
buttonColor = titleColor(for: .normal)
}
override var isHighlighted: Bool {
didSet {
guard let buttonColor = buttonColor else {
return
}
if isHighlighted {
UIView.animate(withDuration: 0.1, animations: {
self.setTitleColor(UIColor.white, for: UIControlState())
self.backgroundColor = buttonColor
})
} else {
UIView.animate(withDuration: 0.1, animations: {
self.setTitleColor(buttonColor, for: UIControlState())
self.backgroundColor = UIColor.white
})
}
}
}
}
ボタンが押されて押し込まれると、ボタンの色が正しく動くようです。ただし、テキストは白色にアニメートされません。私はここで間違って何をしていますか?
(のためのbuttonColor、:.normal)self.setTitleColorに変更 – karthikeyan
http://stackoverflow.com/questions/27577443/is-it-possible-to-animate-uilabels-textcolor -change –
@karthikeyanは何の違いもありません – KexAri