2

コロナSDKでは、スクロールビュー内のテキスト入力フィールドを含む、信じられないほど基本的なものの例/チュートリアルを探しています。

スクロールビューには widget.newScrollView() を、テキスト入力フィールドには native.newTextField() を使用しています。もちろん、問題は、「ネイティブ」オブジェクトがコロナ表示オブジェクト階層の外に存在するため、テキストフィールドをスクロールビュー内に配置してそのようにスクロールできないことです。

このコロナ ラボのブログ投稿へのコメントでは、テキスト フィールドのように見えるプレースホルダー イメージを使用し、ユーザーがタッチしたときに実際のテキスト フィールドをオーバーレイするタッチ リスナーを使用する手法が提案されています。それが最善のアプローチですか?

4

2 に答える 2

2

「Faking it」は、Corona SDK を使用しているか他のものを使用しているかに関係なく、プログラミング時に物事を成し遂げる実証済みの方法です。何かを成し遂げるために面倒なことをする必要がないのは良いことですが、それが最善の方法である場合もあります。

この場合、おそらくプレースホルダーを使用するのが最善の方法だと思います。display.newRect を使用して偽のテキストフィールドのフレームを作成し、次に display.newText を使用してデフォルトおよび/またはユーザー指定のテキストを配置する関数を作成できます。

何かのようなもの:

local dObj = showFauxTextfield(x, y, width, height, str)

渡されたパラメーターに従って四角形とテキストを作成し、それらを表示グループに入れ、それを呼び出し元のコードに戻します。その後、それを他のすべてのものと一緒に通常の表示グループに入れることができます。

showFauxTextfield() 内で、native.newTextField がタッチされたときにポップアップするイベント ハンドラーを作成します。

少し余分な作業ですが、コロナは通常、とにかく開発時間を大幅に節約できるため、おそらくまだ先に進むことができます. ;)

于 2012-07-26T06:33:46.720 に答える
1

この投稿で説明されているプレースホルダー手法の実装に熱心でない場合は、いつでもWidgetCandyライブラリ(http://www.x-pressive.com/WidgetCandy_Corona/)を使用できます。同様の機能を提供するテキストフィールドクラスが含まれています。

于 2012-08-07T19:22:03.973 に答える