あなたは何とかスウィフト2.3
については、この
スウィフト3については
import UIKit
public class GradientButton: UIButton {
override public func layoutSubviews() {
super.layoutSubviews()
layoutGradientButtonLayer()
}
// MARK: Private
private func layoutGradientButtonLayer() {
let gradientLayer = CAGradientLayer()
let color1 = UIColor(red:0.05, green:0.29, blue:0.49, alpha: 1.0).cgColor as CGColor
let color2 = UIColor(red:0.08, green:0.23, blue:0.39, alpha: 1.0).cgColor as CGColor
gradientLayer.colors = [color1, color2]
gradientLayer.locations = [0.0, 1.0]
self.layer.addSublayer(gradientLayer)
}
}
のようなグラデーションを使用してUIButton
を作るためのカスタムクラスを作成することができます
import UIKit public class GradientButton: UIButton { override public func layoutSubviews() { super.layoutSubviews() layoutGradientButtonLayer() } // MARK: Private private func layoutGradientButtonLayer() { let gradientLayer = CAGradientLayer() let color1 = UIColor(red:0.05, green:0.29, blue:0.49, alpha: 1.0).CGColor as CGColorRef let color2 = UIColor(red:0.08, green:0.23, blue:0.39, alpha: 1.0).CGColor as CGColorRef gradientLayer.colors = [color1, color2] gradientLayer.locations = [0.0, 1.0] self.layer.addSublayer(gradientLayer) } }
は、次にボタンのインスペクタで、あなたはGradientButtonとしてクラスを設定することができますが、勾配のためにあなたのボタンのコードを記述する必要はありません。このように
画像を確認。
'UIButton'をサブクラス化しようとしましたか? – Eeshwar