皆さん、
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 としてレンダリングし、ノードを表示または非表示にすることはできますか?
ヒントやリンクをありがとう!