Вот что происходит: у меня есть Tabnavigator со следующей вкладкой:
<s:NavigatorContent width="100%" height="100%" label="Add a logo" includeIn="loggedin">
<components:LogoSearch />
</s:NavigatorContent>
Когда я меняю состояние на «вошел в систему» со следующим кодом:
protected function Login_getStateHandler(event:Event):void
{
this.currentState = "loggedin";
}
navigatorContent показывает, но не компонент «LogoSearch», в представлении «Дизайн», однако он отображается, когда я переключаю состояния.
В «LogoSearch» не определены состояния, и должно отображаться...?
Когда я включаю навигатор вкладок в «нормальный» режим, а также «вошел в систему», затем меняю состояние на «вход в систему», отображается компонент «LogoSearch». Когда я показываю навигатор вкладок только в «логине», меняю состояние на «логин», компонент «LogoSearch» не отображается.
Любая идея, почему это происходит? Я вообще не профессионал в гибкости, поэтому не стесняйтесь указывать мне на мою ошибку. Спасибо.
Пробовал работать с invalidateDisplayList() и invalidateProperties(), как предложил Тяньчжэнь Линь. Все равно ничего не показывает.
<s:NavigatorContent width="100%" height="100%" label="Add a logo" includeIn="loggedin" id="AddLogoTab" >
<s:Label text="test" id="test" />
</s:NavigatorContent>
И :
protected function Login_getStateRegisterHandler(event:Event):void
{
this.currentState = "register";
test.invalidateDisplayList();
test.invalidateProperties();
test.validateNow();
AddLogoTab.invalidateDisplayList();
AddLogoTab.invalidateProperties();
AddLogoTab.validateNow();
}
Что бы я ни делал, содержимое NavigatorContent не будет отображаться после изменения состояния.