.xibファイルを使用してユーザーインターフェイスを描画/操作するのが良い方法かどうかを知りたいです。xibファイルを使用する利点は何ですか?また、使用しない場合は、ビューコントローラーを初期化し、ハードコード上でオブジェクトを描画/配置するのがベストプラクティスですか?利点は何ですか?.xibで実行できない構成がいくつかあるため、ハードコードだけでそれについて考えています。ユニバーサルアプリを作成します。国際化を使用すると、.xibを使用する方がよいのでしょうか、それともすべてハードコードで実行できるのでしょうか。ありがとうございました。
4 に答える
これは「ベストプラクティス」の問題ではないと思います。相互に特定の関係で配置する必要のある多くのサブビューがあるかなり複雑なレイアウトがある場合は、xibまたはストーリーボードで行う方がはるかに簡単です。ユニバーサルアプリの場合、通常、iPadバージョンとiPhoneバージョンに別々のxibまたはストーリーボードがあります。国際化に関しては、それに関連する多くの問題をレイアウトの制約で処理できます(たとえば、ラベルのサイズを自動的に変更するため)。これについては、WWDC2012の講演「例による自動レイアウト」で説明されています。
要件とニーズによって異なります。
ほとんどの場合、IBは要件を満たしているため、すべてのGUIをコーディングする必要はありませんが、コードからGUIを作成する方法を知っておく必要があります。
iPhoneの場合、すべてのニーズに対応できますが、macosでは、大きなコントロールとネストされたコントロールが問題になります。
ですから、それはあなた次第です。どちらの方法であなたはよりシンプルに感じるのでしょうか。
それはあなたが何を成し遂げようとしているのかによると思います。現実には、利用可能なすべてのツールを使用したいと考えています。
ストーリーボードを使用すると、コードでUIを理解するよりも、はるかに迅速かつ簡単にUIを作成できます。また、再コンパイルしなくても、どのように表示されるかについて即座にフィードバックを得ることができます。何かがどのように見えるかを想像するよりも、何かを見る方が簡単な場合があります。
これは、コードで同じことを行う方法を知らない必要があるという意味ではありません。xib / storyboardで実行できない場合は、コードにフォールバックします。
どのような設定を行うことができませんか?IBを使用すると、国際化は非常に簡単です。IB、ストーリーボード、および国際化に関するいくつかの優れたWWDCビデオがあります。できることとできないことを除外する前に、それらをチェックします。
xibの代わりに、ストーリーボードを使用して個人的に作成します。ストーリーボードを使用すると、インターフェイスやセグエなどをプログラムで生成できます。また、XIBで作成できる任意のUIElementをストーリーボードで作成できます。