false로보기 요소의 tabBarVisible 속성을 설정 한 후 다음과 같이 로그인 후 변경해야합니다 단지가,
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
tabBarVisible="false"
title="My View" />
을 당신이보기를 표시 할 때 함수는 this.tabBarVisible을 true로 설정하여 표시 줄을 표시합니다.
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:components="components.*"
creationComplete="creationCompleteHandler(event)">
<fx:Script>
<![CDATA[
import mx.events.FlexEvent;
private static var app:Main;
public static function login():void {
app.loginComponent.visible = false;
app.navigator.visible = true;
}
protected function creationCompleteHandler(event:FlexEvent):void {
app = this;
}
]]>
</fx:Script>
<components:LoginComponent id="loginComponent" left="0" right="0" top="0" bottom="0" />
<s:TabbedViewNavigator id="navigator" left="0" right="0" top="0" bottom="0" visible="false">
<s:ViewNavigator id="testView1" width="100%" height="100%" label="Test 1" firstView="views.TestView1" />
<s:ViewNavigator id="testView2" width="100%" height="100%" label="Test 2" firstView="views.TestView2" />
</s:TabbedViewNavigator>
은 내가 여기했던 것은 기본을 만들 수 있습니다 : 여기
public function loginHandler():void {
// Do login activities
this.tabBarVisible = true;
}
... 난 내 의견에 언급 된 어떤
Main.mxml입니다 다음과 같이 간단한 로그인 구성 요소가 포함 된 응용 프로그램 ...
LoginComponent.mxml :이 날 난 그냥 구성 요소에서 생성하고 시작 화면과 주요 응용 프로그램에 포함하고 TabbedViewNavigator를 표시 할 수 있습니다했습니다있는 로그인 화면을 가지고 있습니다
<s:Group xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
protected function login(event:MouseEvent=null):void {
Main.login();
}
]]>
</fx:Script>
<s:VGroup left="0" right="0" top="0" bottom="0" horizontalAlign="center" horizontalCenter="0"
verticalAlign="middle" verticalCenter="0">
<s:HGroup left="0" right="0" height="75" horizontalAlign="left" verticalAlign="middle">
<s:Label text="User Name"/>
<s:Spacer width="10" height="10"/>
<s:TextInput id="usernameInput" width="200"/>
</s:HGroup>
<s:HGroup left="0" right="0" height="75" verticalAlign="middle">
<s:Label text="Password"/>
<s:Spacer width="18" height="10"/>
<s:TextInput id="passwordInput" width="200" displayAsPassword="true" enter="login()"/>
</s:HGroup>
<s:HGroup left="0" right="0" height="75" verticalAlign="middle" horizontalAlign="center" gap="20">
<s:Button label="Login" click="login(event)" id="btnLogin"/>
</s:HGroup>
</s:VGroup>
/의지에 숨어있다. 하나의 앱 실행에서 다음 상태로 상태를 유지하는 방법을 사용하려고 시도하지 않았습니다. 즉, 영구 로그인을 원한다면 생성 완료 처리기에서 일부 확인을 수행 할 수 있지만이 것은 포인트).
첫 번째 작품 덕분에 차드가 작동합니다! 하지만 탭보기 "로그인"을 추가했기 때문에 탭에 속한 탭 단추가 기본보기의 탭 표시 줄에 나타납니다 (로그인 성공 후). 나는 그것을 제거하는 방법을 찾을 수없는 것 같습니다. 모든 것이에 감겨져 있기 때문입니까? 다른 주에서 어떤 식 으로든 일하게됩니까? 나는 그 주위를 놀아 보았습니다 : P –
daney
오, 로그인 이름이 TabView를 추가하지 마십시오. 여기 당신이 시도 할 수있는 것이 있습니다. 탭 응용 프로그램이 아닌 기본 응용 프로그램을 만들고 TabbedViewNavigator 섹션을 수동으로 만듭니다. 그런 다음 로그인 구성 요소를 작성하여 화면에있는 항목 위에 올려 놓을 수 있습니다. 그런 다음 구성 요소를 표시하거나 숨기고 TabbedViewNavigator를 표시하거나 숨기고 로그인에 성공하면 첫 번째보기를 시작합니다. 시연하기 위해 내 대답에 몇 가지 추가 코드를 추가하겠습니다. – Chad
감사합니다. 시도해 보겠습니다.나는 지금 Tabbed view를 사용하지 않기로 결정했다. 현재 저는 "도메인 선택"> "로그인"> "기본보기"로 전환하는보기 기반 응용 프로그램 템플릿을 사용하고 있습니다. 후속 뷰의 나머지 부분은 List 구성 요소 만 사용했습니다. [예제 >> 'protected function list_changeHandler (이벤트 : IndexChangeEvent) : void { // "다음 뷰로 DomainID (데이터)를 탐색하여 밀어 넣기" 네비게이터. pushView (views.LoginView, list.selectedItem.DomainID); }' 하지만 더 많은 것을 탐구하는 것이 좋을 것입니다. 나는 차드 (Chad) ( – daney