2
私のswift
アプリで私は私の眺めにグラデーションを適用しています。私は、次のコードでそれを行う:私のストーリーボードで私のビューは、iphone 5とiphone 6で違って見えますが、制約がありますが、ここで何が間違っていますか?
@IBOutlet weak var gradientView: UIView!
override func viewDidLoad(){
super.viewDidLoad()
let layer = CAGradientLayer()
layer.frame = CGRect(x: 0, y: 0, width: self.gradientView.frame.width, height: self.gradientView.frame.height)
layer.colors = [UIColor.clear.cgColor, UIColor.white.cgColor]
gradientView.layer.addSublayer(layer)
}
gradientView
ここで黒のいずれかになります。
その制約は以下のとおりです。
それそう各辺のエッジ、上部および下部の白いパネルに触れます。
私は私が持っているiPhone5のシミュレータでそれを実行します。
、それは大丈夫です。私はiphoneの6S上でそれを実行したときしかし、私は以下を参照してください。制約が適用されているので
は、ここでの問題は何ですか?
の境界を持つフレームを交換http://www.andrewgertig.com/2013/08/ios-bounds-vs-frame – Suhaib
gradientView.bounds.width – Suhaib
のviewDidLoadがすべて呼び出されたときのサイズですそれがNIBファイルにあることはほとんど間違っています。すべてのサイズに依存するコードをUIViewControllerのviewDidLayoutSubviewsとUIViewsのlayoutSubviewsに入れなければなりません。そうしないと、ユーザーが画面サイズを回転またはiPadの分割画面を使用して変更した場合にもこの問題が発生します。 –