私は画面に合わせて幅を動的に調整するテキストフィールドを持っています。テキストが切り詰められ、「...」が付いていない場合は、そのテキストを切り捨てて追加します。しかし、テキストの値が使用可能なテキストフィールドの幅よりも長いかどうかはどのように分かりますか?AS3テキストフィールド、切り捨て
答えて
yourTextField.textWidth
には、TextFieldのテキストの長さが表示されます。 TextFieldのautosizeプロパティを最初に設定して、実際にTextFieldの幅ではなくテキストの幅を取得するようにしてください。
おそらく唯一の方法は、textWidthが幅よりも長い場合、一度に文字を追加または削除し、省略記号を追加して文字が閉じるまで幅をチェックすることですテキストフィールド全体を埋めます。
私は文字列をtextFieldに残して新しいMCに余分な "..."を追加し、その視認性をfalseに設定する方法について考えました。 textField.textWidth> = textField.widthにすると、 "..." MCが表示され、textFieldの最後に配置されます。これは、textFieldの内部または外部にある可能性があります。
私は、resizeイベントは、次のように私は少しループを実行するサイズを変更する必要がTextField
オブジェクトをもたらしたことがトリガされた時はいつでも私がやったことだった、これと同じ機能を必要:
tfMessage.text = message;
if(tfMessage.width > maximumWidth)
{
tfMessage.appendText("...");
while(tfMessage.width > maximumWidth)
{
tfMessage.text = tfMessage.text.substr(0, -4) + "...";
}
}
はTextField
ていることを確認しますオブジェクトのautoSize
プロパティをTextFieldAutoSize.LEFT
に設定すると、テキストを更新するたびにオブジェクトのサイズが自動的に変更されます。 TextFieldAutoSize
列挙の他の値を使用することはできますが、LEFT
は私にとって最適です。使用例:
tfMessage.autoSize = TextFieldAutoSize.LEFT;
恐ろしいかもしれませんが、最高のクリーンなオプションです。さらに、これを使用して、平均的なコンピュータで何百というTextField
オブジェクトを細かくしてもパフォーマンスは低下しません。彼らはAVM2の調整と最適化で大丈夫でした。
とにかく私はこれが助けてくれることを願っています。あなたのプロジェクトに幸運。
ねえ何シンプルな:-)を行くのは
while (textfield.numLines > MAX)
textfield.text = textfield.text.slice(0, -4) + "...";
お楽しみください!
OPは、高さではなく幅を切り捨てることについて尋ねました... –
OPはMAXに1を設定することができます – mika
ループ内に幅のチェックがないので、テキストを全く切り捨てません。あなたのループを実行する前にwordWrap/multilineの両方をtrueに設定していない限り...はい、それは扱いがうまくいくでしょう:-) –
- 1. テキストフィールドが右側で切り捨てられます
- 2. Twitterのapiテキストフィールドの値が切り捨てられます
- 3. 切り捨てDrRacket
- 4. 配列のソートと切り捨て/切り捨て
- 5. 切り上げと切り捨てR
- 6. Utf7Encodingテキストの切り捨て
- 7. NSMenuItem:切り捨てとsetLineBreakMode
- 8. のChartAreaタイトル切り捨て
- 9. MySQLクエリログ切り捨てクエリ
- 10. 切り捨てと挿入
- 11. SBS2008のデータ切り捨て
- 12. 切り捨てのDateTime
- 13. 整数に切り捨て
- 14. Drupalのブレッドクラム切り捨て
- 15. ブートストラップメニューの切り捨て
- 16. UINavigationItemタイトル切り捨て
- 17. トランザクションと切り捨てデータベースクリーナー
- 18. UIButtonタイトルテキストの切り捨て
- 19. 切り捨てのMoodleユーザテーブル
- 20. 切り捨て/コンパクトPDF417マトリックス
- 21. 切り捨て用のBash
- 22. SSIS切り捨てテーブルエラー
- 23. テキストオーバーフローCSSの切り捨て
- 24. AS3でこの任意のテキスト切り捨てを防止するには
- 25. sqlite3は私のテキスト列を切り捨てる/切り捨てる
- 26. 切り捨てではなく切り捨てを行う部分
- 27. テーブル2でテーブル2を切り捨て、テーブル2を切り捨てます
- 28. MPAndroidChart結合点で切り捨てポイントが切り捨てられます
- 29. com.mysql.jdbc.MysqlDataTruncation:データ切り捨て:正しくないDOUBLE値の切り捨て: 'q'
- 30. PLSQL:切り捨てによる数字の変換と切り捨て
もし私が100個のテキストフィールドのリストの上にこれをループしているなら、深刻なオーバーヘッドを加えることができますか? mmm – woodscreative
はい、それ以外の方法はありますか?最小と最大の文字数を設定することができます。バッファの上または下にある場合は、それが始まり、いくつかのループを保存します。 – Daniel