Merge pull request #1058 from NativeScript/tab-view-selectedIndex

selectedIndex behavior when no tabs fixed
This commit is contained in:
Vladimir Enchev
2015-11-09 10:52:24 +02:00
2 changed files with 42 additions and 0 deletions

View File

@ -10,6 +10,7 @@ import pageModule = require("ui/page");
import listViewModule = require("ui/list-view");
import buttonModule = require("ui/button");
import observable = require("data/observable");
import builder = require("ui/builder");
// <snippet module="ui/tab-view" title="TabView">
// # TabView
@ -392,3 +393,40 @@ export class TabViewTest extends testModule.UITest<tabViewModule.TabView> {
export function createTestCase(): TabViewTest {
return new TabViewTest();
}
export function test__tabview_selectedindex_will_work_from_xml() {
var p = <pageModule.Page>builder.parse(
'<Page>' +
'<TabView selectedIndex= "1">' +
'<TabView.items>'+
'<TabViewItem title="First">' +
'<TabViewItem.view>' +
'<Label text="First View" />' +
'</TabViewItem.view>' +
'</TabViewItem>' +
'<TabViewItem title= "Second">' +
'<TabViewItem.view>' +
'<Label text="Second View" />' +
'</TabViewItem.view>' +
'</TabViewItem>' +
'</TabView.items>' +
'</TabView>' +
'</Page>');
function testAction(views: Array<viewModule.View>) {
var tab: tabViewModule.TabView = <tabViewModule.TabView>p.content;
TKUnit.wait(0.2);
TKUnit.assertEqual(tab.selectedIndex, 1);
};
helper.navigate(function () { return p; });
try {
testAction([p.content, p]);
}
finally {
helper.goBack();
}
}

View File

@ -227,6 +227,10 @@ export class TabView extends common.TabView {
// When we set this._ios.viewControllers, someone is clearing the moreNavigationController.delegate, so we have to reassign it each time here.
this._ios.moreNavigationController.delegate = this._moreNavigationControllerDelegate;
if (this._ios.selectedIndex !== this.selectedIndex) {
this._ios.selectedIndex = this.selectedIndex;
}
}
public _getIcon(iconSource: string): UIImage {