2017-07-22 22 views
3

私はいくつかのプロジェクトで作業しており、同じエラーが発生します。"APIエラー:(null)が返された0幅、UIViewNoIntrinsicMetric" Xcode 9ベータ版

私はまだ何が原因であるか把握できません。私のコードやXcode 9ベータに問題はありますか?

MyApp[22724:4000717] API error: (null) returned 0 width, assuming UIViewNoIntrinsicMetric

+1

https://stackoverflow.com/questions/45202903/image-picker-controller-delegate-in-separate-class-doesnt-work – rmaddy

答えて

0

は正しく別にリンク@rmaddy SOただし、オートレイアウトの実践に関連する他の可能性がある答えます。

このメッセージは、プロジェクトで定義されている自動レイアウトの実装および一意の制約に関連する場合もあります。このメッセージは通常、実際のデバイスを使用しているときは表示されないようです。

UIKitフレームワーク - > UIViewのAPIグローバル変数UIViewNoIntrinsicMetric

UIViewNoIntrinsicMetric所与の数値のビュープロパティの固有のメトリックが存在しません。

のUIViewの実装プラクティス

すべてのUIViewサブクラスはintrinsicContentSizeを実装し、それに適していると考えていることのサイズを返す必要があります。例:

  • UIViewの幅がわかっている場合は、CGSizeMake(200、50)を返します。
  • ビューの幅がわからない場合は、幅の代わりにUIViewNoIntrinsicMetricを使用します。 updateConstraintsreturn CGSizeMake(UIViewNoIntrinsicMetric, 50)

のUIViewベースの実装では、intrinsicContentSizeを呼び出しますし、それはUIViewのに制約を追加することから返されたコンテンツのサイズを使用します。

UIViewのAPIプロパティintrinsicContentSize

intrinsicContentSizeビュー自体のプロパティのみを考慮受信ビューのための自然な大きさ、。

通常、カスタム表示には表示される内容があり、レイアウトシステムには認識されません。このプロパティを設定すると、カスタムビューはレイアウトシステムに、その内容に基づいてサイズを通知することができます。この固有のサイズは、変更された高さに基づいて変更された幅をレイアウトシステムに動的に伝達する方法がないため、コンテンツフレームから独立していなければなりません。 カスタムビューに特定のディメンションの組み込みサイズがない場合は、そのディメンションに UIViewNoIntrinsicMetricを使用できます。

結論

Xcodeのエラー:

returned 0 width, assuming UIViewNoIntrinsicMetric

そこで我々は、0の幅サイズは、プロジェクト内のいくつかのUIViewで返されたので、XcodeのはUIViewNoIntrinsicMetricサイズを想定しているという考えを得ることができます。

実際のデバイスにデプロイするときにまだメッセージが表示されている場合は、レイアウトの制約に注意してください。

関連する問題