9

当社はiPad用のかなり大きなアプリを開発しています。最終的には、顧客 (テナント) ごと、場合によっては (その顧客の) ユーザーごとに UI をカスタマイズできるようにしたいと考えています。HTML5 で開始しましたが、ネイティブに移行しています。

サーバーから XML (または生成された XIB/NIB ファイル) をダウンロードし、それらをアプリに動的に追加することについて、いくつか読んだことがあります。

iOS 5 (および 6 ではさらに) では、ストーリーボードが大きな役割を果たしています。

私の質問:
- (複数の?) ストーリーボードまたは XIB を使用する方がよいでしょうか?
- 動的なユーザー インターフェイスを提供したい場合、両方に対してどのようなオプションがありますか?

私が探しているのは魔法の薬でも、HTML5 とネイティブの議論でもありません。動的インターフェイスを提供する方法と、そのために役立つテクニックについての情報だけです。

4

3 に答える 3

8

あなたの2つの質問に対する私の答えは次のとおりです。

  1. ストーリーボードはシーン管理に最適です。さまざまなシーン/ビューの間に視覚的なつながりを生み出します。できる限り多くの UI にストーリーボードを使用することを好みます。ただし、一部のアプリには、既存または再利用可能または動的な XIB を取得する要素があります。XIB を必要な場所にコードでロードすることにより、これらをストーリーボードと結び付けるだけです。したがって、最初の質問に対する私の究極の答えは「両方」です。可能な場合はストーリーボードが使用され、動的なシーン/ビューには XIB が使用されます。

  2. 動的ユーザー インターフェイスのオプションには、少なくとも次の 2 つのオプションが含まれます (上記のとおり、私は 2 番目のオプションを好みます)。

    1. XIB ファイルを使用してすべてのコードを作成し、コード内のストーリーボードなしですべての UI トランジションを実行します
    2. 知っている限り多くの UI を作成すると、viewController とストーリーボードの間の関係に関して比較的静的なままになります。次に、initWithNibName:bundle を使用して UI の動的部分を読み込みます。

最後に、状況が許せば複数のストーリーボードを使用できます。これは、ストーリーボードの別の場所で作成され、個別に維持される再利用可能なコンポーネント、またはストーリーボード XML (ストーリーボードのソースを見ると、生成されたものから取得したか、どこから取得したかは関係ありません。アプリに複数の複雑に相互接続されたビュー コントローラー シーンがある場合は、設計段階で複数のストーリーボードを使用して UI を管理することを決定することもできます (たとえば、UITabBarController の各タブに独自のストーリーボードがあり、各ストーリーボードのシーン rootController が接続/ロードされる場合)。タブが選択されます)。

于 2012-08-01T19:04:43.893 に答える
1

ずっとストーリーボード!昔は絵コンテが大嫌いだったのですが、だんだん慣れてきて、今は絵コンテが大好きです。ストーリーボードは行く方法です。

于 2012-08-07T00:02:32.303 に答える