1
xcodeが新しく、ボタンの上にグラデーションレイヤーを配置していて、全幅が満たされていません。私は何が間違っているのか分かりません。私のコードはここにあり、レンダリング方法のスクリーンショットです。CAGradientLayerが私のボタンの全幅に及んでいない - xcode
let gradientLayer = CAGradientLayer()
gradientLayer.frame = self.btnSavePhoto.bounds
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.btnSavePhoto.layer.addSublayer(gradientLayer)
ありがとうございます。 layoutSubviewsメソッドでカスタムレイヤーのサイズを更新するカスタムUIButtonサブクラスを作成するにはどうすればいいですか? –
UIButtonのサブクラスを作成します。ここでは、initWithFrameメソッドでグラデーションレイヤを作成し、それを強いプロパティ(var)に格納し、それをサブレイヤとして追加します。 (今と同じ) 次に、super.layoutSubviews()を呼び出してレイヤーのサイズを変更するlayoutSubviews()メソッドをオーバーライドします。 self.gradientLayer.frame = self.bounds。 申し訳ありませんがすぐに使用できる実際のコードを投稿することはできませんが、私はまだ助けが必要な場合は後で行うことができます:) – hybridcattt
あなたができることができれば、私は本当に美容的な変更を行うことができますこの点、プログラミング面では少し失われています。 –