私はxcode 9.0.0を使用しています。私は、異なるビューに複数のカスタムクラスを適用しています。実際のプラスサイズのデバイスでプロジェクトを実行するたびに、完璧なビューが表示されますが、シミュレータでビルドしている間は、レイアウトが右側から圧縮されます。これは、任意のUIView型で発生します。以下に例を示します。ここでxcode 9シミュレータレイアウトの誤動作
は、私が勾配を適用しています、しかし、右側の部分が省かれています。そして、これはあらゆる視点で起こります。上記の例のコードは次のとおりです。
func addBlackGradientLayer(frame: CGRect){
let gradient = CAGradientLayer()
gradient.frame = frame
gradient.colors = [UIColor.clear.cgColor, UIColor.black.cgColor]
gradient.locations = [0.0, 1.0]
self.layer.addSublayer(gradient)
}
私は今、すべての手がかりから完全に外れています。どんな助けでも大歓迎です。
矛盾するか不十分な制約について警告を受けていますか?どんな制約を設定しましたか?あなたはあなたが示したコードをどこで呼びますか? – Paulw11
この関数をどこで呼びますか?あなたは、 'view'の' frame'が完全にレイアウトされる前にそれを呼び出す可能性が最も高いです。 – Paolo
@ Paulw11私は、自動サイズ変更/不足している制約の追加/自分の制約の設定を試みました。また、制約に関する警告も出ません。今でも、イメージは自動レイアウト上にあり、警告/問題はありません。 –