0

私はIOSにかなり慣れていませんが、いくつかの簡単なアプリを完成させました。私はたくさんの本を読んだことがあり、それは私が始めるのに役立ちましたが、アプリを最適に構成する方法について、特にUIに関して、より一般的なアドバイスが欠けています。

これは非常に一般的な質問であることを私は知っているので、私は特定の問題を提起しようとします。この特定のアプリを構成する方法についての提案や、同様のトピックに関する優れた読み物へのポインタをいただければ幸いです。

これで、この特定のiPadアプリのUIは次のようになります。

メイン画面は水平方向に2つに分割されています。上の3分の2は一種のキャンバス/作業スペースです。下の3分の1は、作業スペースにドラッグできるさまざまなアイテムを含むツールボックスです。ツールボックスには、さまざまなカテゴリのアイテムを保持するさまざまなビューがあります。たとえば、さまざまな幾何学的図形を含む1つのビューと、さまざまな色を使用する1つのビュー。ユーザーは、ツールボックスに表示するカテゴリを選択できます。最後に、画面の上部には、ボタンが1つあるツールバーがあります。

ビュー/ViewControllerを構造化する方法について少し混乱しています。おそらく、私の問題の多くは、さまざまなUI要素の使用方法に関するAppleのガイドラインを完全に理解していないことに起因しています。その場合は、遠慮なく言ってください。

これが私が始める方法です。メインビューを制御するメインViewControllerを作成します。メインビューには上部ツールバーがあります。このビューに2つのサブビューを追加します。1つは作業スペース用で、もう1つはツールボックス用です。ツールボックスビューは私を少し混乱させます。私の考えは、これをアイテムのカテゴリごとに1つのタブを持つタブ付きビューにすることです。しかし、私が理解しているように、ビューコントローラをネストする際に多くの問題が発生する可能性があります。これは、タブビューコントローラを使用して画面の一部のみを制御することがガイドラインに違反していることを意味しますか?自分の「タブバー」を作成し、タブがタブで移動されたときにサブビューを切り替える方がはるかに良いでしょうか?

これは、画面の一部のみをカバーするポップアップビューをナビゲーションコントローラーで表示することも同様に悪い習慣であることを意味しますか?それとも、これはモーダルビューである必要がありますか?そして、画面の一部だけを占めるビューを備えたテーブルビューコントローラーはどうですか?ビューコントローラを効果的にネストせずにこれらのことを実現する方法がわかりません。

私は完全に逆さまに何かを得たと確信していますか?

よろしくトーマス

4

1 に答える 1

0

ViewControllerのネストは問題ではありません。実際、これをさらに簡単にするために、ViewControllerContainmentがiOS5に導入されました。ただし、新しい封じ込め機能が機能する前は、それはまだ可能でした。

2つのViewControllerをネストする最も簡単な方法は次のとおりです。

SubViewController *theSubView = [[SubViewController alloc] init];
[self.view addSubview:theSubView.view];

サブビューはによって制御さSubViewControllerれ、メインのViewControllerに「ネスト」されます。(このコードはメインのViewControllerの一部になります。)

新しい(er)View Controller Containmentメソッドを使用するにSubViewControllerchildViewController、メインのViewControllerのを作成します。

ViewControllerContainmentを超えるWWDC2011の優れたビデオがあります。ここにアクセスするには、開発者である必要があります。これは「UIViewController封じ込めの実装」と呼ばれます。

TabBarControllerをネストされた形式で使用することはお勧めしません。独自のビュー切り替えメソッドを作成するか、UIScrollViewwithを使用する方が簡単ですpagingEnabled

sを使用したポップアップビューに関する限りNavigationController、これは一般的な方法です。NavigationControllerアプリの設定にアクセスしたり、パレットからツールを構成したり、保存したプロジェクトにアクセスしたりするために、ポップアップを内部に作成しても問題はありません。

これで良いスタートを切ることができれば幸いです。

于 2012-07-06T13:26:58.500 に答える