TextField へのスクロールバーの追加


通知表ジェネレータにて縮小表示時に文字が読みづらいためサイズ変更したところ1画面に収まらなくなってしまいました。

そこで、スクロールバーを表示させるためにUIScrollBarというコンポーネントを使用してみました。

コンポーネントを使用するためには、[ウィンドウ]→[コンポーネント]で、コンポーネントウィンドウを開き、UIScrollBarをドラッグして、TextFieldの端へ配置します。

(この際にオブジェクトへ吸着にチェックが入っていることを確認しておいてください)

右端側へ吸着させれば垂直の、下部に吸着させれば水平のスクロールバーとなります。

あとは、TextFieldに収まりきらないテキストがセットされると自動的にスクロールバーが表示されます。

ただ、方法によってはUIScrollBarがうまく表示されない場合があります。

  1. Varsからテキストをセットした場合
  2. TextFieldの変数名とインスタンス名が同じであった場合

1は、TextFieldに変数名を設定し、変数にテキストを代入することによって内容を切り替えていた場合にスクロールバーがうまく表示されません。

TextFieldにインスタンス名を設定し

[TextFieldのインスタンス名].text = “代入するテキスト”;

というようにtextプロパティからテキストをセットする必要があります。

2はインスタンス名と変数名が同じ場合に変数への代入が優先されてスクロールバーが出ないおそれがあるためです。

TextFieldにインスタンス名をつけ、 ‘TextField.text’プロパティを使ってテキストを設定してください。TextFieldにはインスタンス名に加えて変数名も使用できます が、スクリプトに混乱を生じるおそれがありますので、変数名は削除することをお勧めします。

ちなみに、縦横50%のサイズに縮小した場合にスクロールバーが細すぎるため、幅を増やせないかとあれこれ挑戦してみましたが、配置時にサイズ変更をしても、実行してみると元のサイズ(幅16pix)で表示されてしまいます。

Flash CS3 ドキュメンテーションを確認すると

UIScrollBar コンポーネントは、オーサリング時にも実行時にも縦横に変形させることができます。ただし、垂直方向の UIScrollBar の幅、水平方向の UIScrollBar の高さを変更することはできません。

とのことでした。好きな幅に設定できるといいんですけどね。

好みの形にするには自作するしかないようです。

,

  1. No comments yet.
(will not be published)

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)