9

iOS6には、制約ベースのレイアウトシステムであるAutoLayoutがあります。Androidの柔軟なXMLレイアウトにいくらか匹敵すると思います。

私はiOS6プロジェクトを開始し、AutoLayoutを使用したいと思います。このアプリはユニバーサルになります。2つのデバイスファミリ間で非常に類似したビューがいくつかあります。iPadのその他のビューは、iPhoneビューの2つ以上のコントローラーになります。

私が理解していることから、UIViewControllersは他の子UIViewControllersでセットアップできます。これは、両方のデバイスでユニバーサルビューを構築するための2つの要素があることを意味します。

だから私の質問は、なぜ2つのストーリーボードが必要なのですか?iPadのストーリーボードにはいくつかの追加のコントロールなどがあることがわかります。2つのデバイスタイプ間でフォントサイズやその他の変数をスケーリングする問題もあります。2つのストーリーボードでビューが重複しないようにし、AutoLayoutを効率的に使用して優れたユニバーサルアプリを実現する方法について、誰かがアドバイスを提供できますか?

とても有難い。

4

2 に答える 2

8

iPad UIは、iPhoneUIの単なる拡大バージョンではない傾向があります。使用する画面スペースが増え、iPad専用のカスタムインターフェイス要素(UISplitViewControllerなど)があります。

あなたの場合、異なるデバイスのレイアウトが非常に似ている場合は、はい、自動レイアウトで1つのレイアウトを使用するだけで、問題なく動作する可能性があります。ただし、ほとんどの場合、これに反対することをお勧めします。デバイスの種類ごとに1つずつ、合計2つのレイアウトを使用する方が明確です。

最終的な決定はあなた次第です。たぶん、自動レイアウトを使用して単一のレイアウト戦略を試して、特定の問題が発生するかどうかを確認することができます。

于 2013-10-01T13:19:28.823 に答える
2

私の経験では、ストーリーボードを使用せずにすべてをプログラムで作成する方がおそらく簡単ですが、それはより意見に基づいています。

あなたの質問は少し曖昧ですが、私の意見は、あなたが言ったように自動レイアウトでビューを設定し、次にそれらのビューを使用するコントローラーを用意することです。最終的には、コントローラー内のビュー内にビューが表示されます。これにより、デバイスに応じて、どこに行くかを選択しながら、すべてのレイアウトを制御できるようになります。

より具体的な例を挙げて実行すると、役立つ場合があります。正直なところ、これも私にとって興味のあることであり、他のアイデアを見るのを楽しみにしています。

于 2013-01-25T22:58:12.093 に答える