Titanium Appcelerator:TableView在第二次打开时在导航窗口内向上滑动

时间:2014-08-29 08:01:16

标签: javascript titanium titanium-mobile appcelerator modal-window

我无法让我的TableView保持不变。如下面的代码所示,TableView位于第二个窗口内,该窗口本身位于NavigationWindow中 我的问题是:NavigationWindow是否可能是模态的,如果是这样,为什么TableView会在第二次打开时向上滑动?我错过了什么吗?

编辑:它不仅仅是特定于tableviews,对于添加到窗口的任何视图都会发生这种情况。

我使用的是3.2.3.GA

var win = Ti.UI.createWindow({ backgroundColor: '#ffffff', title: 'first window' });
var button = Ti.UI.createButton({ title: 'click me', left: 0, right: 0 });
var button2 = Ti.UI.createButton({ title: 'click me', left: 0, right: 0 });
var win2 = Ti.UI.createWindow({ backgroundColor: '#ffffff', leftNavButton: button2 });
var tableView = Ti.UI.createTableView({ top: 0, left: 0, right: 0, bottom: 0 });
var navigationWindow = Ti.UI.iOS.createNavigationWindow({ window : win2, modal: true});

var row = Ti.UI.createTableViewRow({ title: 'test' });

tableView.setData([row]);

win2.add(tableView);
win.add(button);

win.open();

button.addEventListener('click', function() {
    navigationWindow.open();
});

button2.addEventListener('click', function() {
    navigationWindow.close();
});

first open second open

1 个答案:

答案 0 :(得分:0)

你应该改变一些代码:这是一个如何添加一个带有NavigationController和tableView的模态窗口的例子。

// create modal window

    ModalWindow = Ti.UI.createWindow({
        title : 'This is my Window'
    });

// Add TableView and Add it to your Window

    var TableView = Ti.UI.createTableView({ top: 0, left: 0, right: 0, bottom: 0 });
    ModalWindow.add(TableView);

//  Add a NavigationControllerWindow, and add your Modal Window to it

   var NavWindow = Ti.UI.iOS.createNavigationWindow({
        modal : true,
        window : ModalWindow
    });

// Open it modal    

    button2.addEventListener('click', function() {
        NavWindow.open({
            modalStyle : Ti.UI.iPhone.MODAL_PRESENTATION_PAGESHEET
        });
     });