浏览 3162 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2011-05-12
调查发现,当remove所有的tab,再动态创建新的tab后,selectedIndex的设置就会失效。所以要保证TabNavigator在remove时至少要保持一个tab存在。 下面是一个简单的小例子: <?xml version="1.0"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white"> <mx:Script> <![CDATA[ import mx.containers.VBox; public var _num:int = 0; // tab数 /* * 重置:移去当前所有tab,重置两个新的tab */ private function remove():void { // tab页存在的情况下 if ( _num > 0 ) { // 新建一个临时tab页 并把它加到TabNavigator的最前面。 var tempVbox:VBox = new VBox; tabs.addChildAt( tempVbox, 0 ); // remove除了临时tab页之外的所有tab for ( var i:int = _num; i > 0; i-- ) { tabs.removeChildAt( i ); } // 重置tab数 _num = 0; } // 新建2个tab reset( 2 ); // remove临时tab tabs.removeChildAt( 0 ); // 设置选中页 tabs.selectedIndex = 0; } /* * 新建num个tab */ private function reset( num:int = 1 ):void { for ( var i:int = 0; i < num; i++) { var vbox:VBox = new VBox; vbox.label = "Panel " + (_num + 1).toString(); tabs.addChild( vbox ); _num++; } } ]]> </mx:Script> <mx:Button label="重置" click="remove()"/> <mx:Button label="新建" click="reset()"/> <mx:TabNavigator id="tabs" width="500" height="200"/> </mx:Application> 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |