1. 説明: ビューをカスタマイズしました。ビューと内部のサブコントロールは Masonry を使用してレイアウトされました。利用する場合は、まずこの[[View alloc]init]を作成してscrollViewに追加します。データを取得したらサイズを計算し、Viewのフレームを設定します。
2. 問題: 画像内の 2 つの赤い文が問題の核心です。つまり、NSAutoresizingMaskLayoutConstraint 制約はビューの幅を 0 に設定しますが、Masonry レイアウトの子コントロールの幅は 100 に設定されます。 "<NSAutoresizingMaskLayoutConstraint:0x14120da50 GoodsDetailPlanView:0x140da0e50.width == 0>"
<MASLayoutConstraint:0x140da7100 UILabel:0x140da4bb0.width == 100>
3. 解決策: この問題を解決するにはどうすればよいですか? NSAutoresizingMaskLayoutConstraint を NO に設定すると、コントロールが表示されなくなります。
ありがとう = = エラー メッセージからは、何が起こっているのかわかりません。その結果、親ビューで autoLayout が追加されず、子の幅が 0 になっているのではないかと考えられます。ビューは 100 です。もう維持できません。
NSAutoresizingMaskLayoutConstraint これは autoResizingMask を翻訳した制約です。これが不要な場合は、属性
translatesAutoresizingMaskIntoConstraints
(これと呼ばれるようです) を NO に変更できます。