0

皆さん、

Java/Swing の世界から来た私は、iPhone の UI プログラミングに戸惑うことがあります。私は過去数時間、情報を求めてグーグルで過ごしましたが、Java で考えすぎて間違った質問をしたようです。次の機能を実現できるように、GUI の概念に慣れるためのリソースを教えてください。

基本的に、構造化されたテキスト (レシピなど) を表す垂直方向にスクロール可能なビューを作成したいと考えています。各ステップは、タイトルと説明文で構成されています。このようなステップを折りたたんだり展開したりしたいので、タイトルは何らかのインタラクティブになり、クリックすると説明が表示または非表示になります。

Java では、そのようなセクションの 1 つをレンダリングするコンポーネントを作成します。レイアウト マネージャーは、コンポーネントの推奨高さを計算します (説明が表示されているかどうかに関係なく)。

次に、Java で垂直レイアウト マネージャーを使用してパネルを作成し、コンポーネントを順番に追加します。このパネルはスクロール ペインに配置されます。たとえば、高さがスクロール ペインの高さよりも大きい場合、スクロール ペインはパネル自体をレイアウトし、その上にビューポートを表示するように要求します。

Javaが私に提供するものは次のとおりです。

  • 要素のレイアウト (好みの高さと幅を計算)。したがって、座標と寸法を扱う必要はありません。
  • 実行時にコンポーネントを作成および追加することによる UI の動的作成

iPhoneでわかったこと:

  • ビューにサブビューとしてビューを動的に追加できます。たとえば、addSubview を呼び出してスクロールビューを作成します。
  • removeFromSubview を使用してそのようなものを削除することもできます (ここで説明されているように UIScrollView のコンテンツをクリアします)

iPhoneでわからないこと:

  • 1 つのビューは常に表示画面に対応しますか (これまでタブとナビゲーション バーのナビゲーションを使用していましたが、新しいビューを設定するたびに、現在の表示画面から 2 つのバーに必要なスペースを差し引いたものを埋めます)。
  • または、上部 (「北」) にラベルを、中央にテキストを含むビューを定義することは可能ですか? もしそうなら、そのようなビューはその高さを自動的に決定できますか?
  • Java のような同様の方法で私の例を実現できますか、それとも個々のコンポーネントのすべての寸法と座標を自分で計算する必要がありますか? (この例はそのトピックに触れているようです: iPhone scrollView add elements dynamic with id )

または、WebView を使用し、JavaScript を使用して自分のものをローカル HTML としてレンダリングし、ノードを表示または非表示にすることはできますか?

ヒントやリンクをありがとう!

4

1 に答える 1

0

Cocoa にはレイアウト マネージャーはありません。ビューはストラットとスプリングの設定に従って再配置されます。その詳細については、次のドキュメントを参照してください: http://developer.apple.com/library/ios/#documentation/DeveloperTools/Conceptual/IB_UserGuide/Layout/Layout.html

「上部にラベル、中央にテキストを含むビュー」を作成するには、サブビューを持つビューを作成します.1つは上部にラベル、2番目は中央にテキストビューです。すべてのサブビューのストラット/スプリングを適切に構成すると、コンテナー ビューのサイズが変更されたときに自動サイズ変更されます。

また、Interface Builder にも慣れる必要があります。コードでビューを作成するのは本当に面倒です。

于 2010-10-23T22:54:23.730 に答える