[AS]FocusManagerインスタンスを生成した状態で、InteractiveObjectのtabEnabledをfalse > trueに切り替えると、focusRectが利かなくなる
タイトルどおりの挙動に出くわした。
以下、再現する環境
メインタイムラインには、ボタンインスタンスとテキストフィールド(Input状態)が配置してあるとする。
ボタンインスタンスのインスタンス名:_btn
import fl.managers.FocusManager; var focusManager:FocusManager = new FocusManager(this); _btn.tabEnabled = false; _btn.tabEnabled = true;
これで、パブリッシュし、Tabキーを押すと、テキストフィールドのカーソルからフォーカスは移動していることがわかるが、ボタンにフォーカスがあたっている状態で、黄色の枠が表示されない。
ちなみに、
var focusManager:FocusManager = new FocusManager(this);
この一文がなければ、黄色の枠は表示される。
黄色枠を表示させたい場合は明示的にfocusRectをtrueにしてあげればOK。
なんか面倒だ。
import fl.managers.FocusManager; var focusManager:FocusManager = new FocusManager(this); _btn.tabEnabled = false; _btn.tabEnabled = true; //これで_btnがフォーカス時に黄色枠が表示される _btn.focusRect = true;
Tweet