UITextFieldでの同時押し

UITextFieldで複数のキーを同時押しすると、KEY_DOWNもKEY_UPもCHANGEも1回しか呼ばれないときがある。文字数を調べるルーチンを呼んでいたところでこの問題にひっかかって、正しい文字数が表示できなかった。こういうときは遅延実行がお役立ち。

textfield.callLater(function() : void {
  やりたい処理
});

これでtextfieldの描画完了後にやりたい処理が行われる。callLaterはUIComponentのメンバ関数なので、TabBarのバインドしているデータを変えて描画したあとに特定のインデックスを指定したいとかいう場合にも使えるし、かなり使える。ActionScriptのなかで1番好きな関数かもしれない。