2016-07-03 29 views
0

私はちょうど勉強を始めます。私はCartographyを自動レイアウトビューに使用すると問題があります。ここで何が起こるかです。Autolayoutは効果がありません

私はLoginViewControllerを作成し、すべての制約を "updateConstrains()"という名前の関数に置き、override func viewDidLoad()で呼び出します。 LoginViewControllerをAppDelegateのウィンドウrootViewControllerとして設定すると、うまく動作します。

​​

しかし、私はUINavigationControllerのrootViewControllerとしてLoginViewControllerを置く場合は、次のように:

ウィンドウを.rootViewController = UINavigationController(rootViewController:loginViewController)!

ことになりますこのように:

The autolayout has no effect

LoginViewControllerのビューの幅と高さを印刷する場合。それは判明している:

幅= 155、高さ= 0

は、誰もが何が起こるかを教えてもらえますか?

+0

のためのAppleのドキュメントを参照してください? – Sajjon

答えて

0

一般的な原因は、ビューにtranslatesAutoresizingMaskIntoConstraints = falseを設定するのを忘れることです。

コードでインスタンス化されたビューは、デフォルトでtrueに設定されています。これにより、autoresizingMaskの値に基づいて自動レイアウト制約のセットが作成されます。自動レイアウトが使用されることが多い自動サイズ変更マスクが正しく定義されていない場合、生成された制約は意図したものになりません。

はあなたのViewControllerのコードを貼り付けてくださいすることができtranslatesAutoresizingMaskIntoConstraintsautoresizingMask

関連する問題