TextFieldでhtmltextを使用する際に<br>が効かない場合の処理


flash_br
先日からActionScript3でCMSを作成しているのですが、htmltextで「<br>」を入力された際にハマったのでメモ。

TextFieldに値を設定しても<br>が効かない。でも他の<b>とか<u>とかは効くのでなんでだろうと思った。

IT/WEB業界への転職なら求人サイトGreen

動かない例

private var _txt:TextField;

function hoge() {
    _txt = new TextField();
    _txt.htmlText = "文章<br>文章";
    _txt.multiline = true;
    _txt.wordWrap = true;
    addChild(_txt);
}

これはmultilineを設定する前にhtmltextに値を代入しているから。

おそらく上記コードだと
htmlに<br>を代入しても、その時点では「複数行には対応していませんっ!」っていう事で無視されるようです。

正しいコード

private var _txt:TextField;

function hoge() {
    _txt = new TextField();
    _txt.multiline = true;
    _txt.wordWrap = true;
    _txt.htmlText = "文章<br>文章";
    addChild(_txt);
}

TextFieldに値を設定する順番はtrick7さんが詳しいので一読ください。

 

この記事が気に入ったら
いいね!しよう

最新情報をお届けします

follow us in feedly