2010-08-04 2 views
0

this http://www.freeimagehosting.net/uploads/b470d024c4.jpg처럼 보이는 사용자 정의 탭 네비게이터를 만들려고합니다.플렉스 3 - 사용자 정의 탭 네비게이터

또한 롤오버가있는 경우 화살표 테두리가 파란색이어야합니다 (현재 탭의 라벨처럼).

그 목적을 위해 레이블과 캔버스 내부에 3 개의 이미지가있는 hbox (currentState에 따라 화살표 팁이 변경되어야 함)를 작성했습니다. 그런 다음, 파란색 강조 표시 색상을 얻기 위해 구성 요소를 겹쳐서 생각했습니다 (예 : 화살표 버튼 3은 화살표 버튼 4 위에 있음). 버튼 3의 화살표 팁 이미지는 화살표 바깥 쪽에서 투명 해져서 볼 수 있습니다. 다음 버튼의 검은 색).

이제 캔버스 내부에 구성 요소를 놓으려고합니다 ...하지만 그럴 수는 없습니다. creationComplete 이벤트가 끝난 후 레이블 텍스트를 할당하고 구성 요소의 좌표를 계산했지만 레이블 너비는 고려하지 않았습니다 ... -_- '

아이디어가 있습니까?

감사합니다. 감사의 Flex Component LifeCycle 읽기 최대

답변

1

BS_C3. updateDisplayList() 메서드에서 하위 구성 요소의 위치를 ​​지정하고 크기를 조정해야합니다. creationComplete 핸들러에는 없습니다.

무엇이 무엇인지 알면 언제라도 commitProperties 또는 createChildren에 레이블 텍스트를 할당해야합니다.

일부 코드를 공유하려는 경우 정확한 문제를 처리 할 수 ​​있습니다. 이 같은 코드를 실행하면 :

myLabel.text = 'Blahblahblahblah'; 
trace(myLabel.width); 

나는 폭이 myLabel 아직 자신의 구성 요소의 수명주기 단계를 통과하지 않았기 때문에 새로운 텍스트를 반영하도록 변경되지 않았 음을 기대.

+0

답장을 보내 주셔서 감사합니다. = D 나는 updateDisplayList 메소드에 대한 오버라이드를했는데, 훌륭하게 작동합니다^__ ^ –