設計パターンを不適切に実装している可能性があることを示唆する問題に遭遇しました。サイズが言語に依存する動的サブビューがあります。モーダル ビューを表示するときは、viewDidLoad 中にレイアウトを設定します。UILabel オブジェクトが正しく表示されていないことに気付き、viewDidLoad 中のモーダル ビューのサイズがビューが表示されているときのサイズと同じではないことが問題であることがわかりました。
viewDidLoad s 中のモーダル ビューの幅は 768 です。ビューが表示された後の幅は 540 です。
これは、viewDidLoad 中ではなく、viewWillAppear 中にレイアウトを設定する必要があることを示唆しています。
ビューが読み込まれるとレイアウトが変更されないため、これを実行に適用すると、DRY 原則の私の理解と矛盾するようです。そのため、ビューが表示されるたびにレイアウト コードを不必要に繰り返すことになります。(私の例では、モーダルのプレゼンテーション間で言語設定を変更できることはわかっていますが、このタイプのダイナミックが存在しない他の例があるかもしれません。)
viewDidLoad で、同じ方法で非モーダル ビューにレイアウトを実装します。
これを別の方法で行う必要がありますか?