SwiftのiOSアプリケーションでは、プログラム制約を使用しており、CAGradientLayer()をUIView()に追加したいと考えています。以下は動作しない私のコードです。プログラム制約を使用する場合、CAGradientLayerをUIViewに追加する方法
import UIKit
class ViewController: UIViewController {
let animationView: UIView = {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = false
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(animationView)
setupAnimationView()
animationView.addGradientLayer()
}
func setupAnimationView() {
animationView.leadingAnchor.constraint(equalTo: view.leadingAnchor).isActive = true
animationView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true
animationView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true
animationView.bottomAnchor.constraint(equalTo: view.bottomAnchor).isActive = true
}
}
extension UIView {
func addGradientLayer() {
let color1 = UIColor(red: 251/255, green: 55/255, blue: 91/255, alpha: 1.0)
let color2 = UIColor(red: 1.0, green: 70/255, blue: 0, alpha: 1.0)
let gradientLayer = CAGradientLayer()
gradientLayer.name = "gradientLayer"
gradientLayer.frame = self.frame
gradientLayer.colors = [color1.cgColor, color2.cgColor]
self.layer.insertSublayer(gradientLayer, at: 0)
}
}
私は信じている私が午前問題は、私はプログラム的制約とanimationViewを作成し、私は、試してみて、フレームのビューにそのフレームが等しい設定することにより、グラデーションレイヤーを追加しているという事実に関連しています。このコードは、プログラムの制約を使用しない場合に機能します。私が間違っている/間違っていることは何ですか?
*クラス*キーワード – Hamsternik
の後にコロンを削除してください@Hamsternikは今すぐ変更しました – Edward