gpt4 book ai didi

iphone - appcelerator 钛 : nested push animation can result in corrupted navigation bar 中的错误

转载 作者:行者123 更新时间:2023-12-01 17:00:02 25 4
gpt4 key购买 nike

我在日志和一个错误的导航组中收到以下消息2011-10-27 21:41:21.575 bugtitanium[15903:207] nested push animation can result in corrupted navigation bar2011-10-27 21:41:21.945 bugtitanium[15903:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.2011-10-27 21:41:21.946 bugtitanium[15903:207] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.附上代码重现;在第一次加载时,一切正常,点击 1 次重新加载,单击一行并单击返回按钮
做同样的事情并重新加载 2 次,你将不得不点击返回按钮 2 次,依此类推....
有人可以为我提供解决方法或修复吗?
我需要将表加载并填充为异步进程

代码是

Titanium.UI.setBackgroundColor('#000');
var tabGroup = Titanium.UI.createTabGroup();
var win1 = Titanium.UI.createWindow({
title:'Tab 1',
backgroundColor:'#fff'
});

var mytasks_helping_button = Ti.UI.createButton({
title : 'Reload',
top:0,
color:'black',
width:200,
height:30,
style:Ti.UI.iPhone.SystemButtonStyle.BORDERED
});
win1.add(mytasks_helping_button);

var mytasks_helping_tableview = Titanium.UI.createTableView({
top:100
});
win1.add(mytasks_helping_tableview);

var tab1 = Titanium.UI.createTab({
icon:'KS_nav_views.png',
title:'Tab 1',
window:win1
});

function populateData(datasourcetmp,tabletmp){
var data = [];
for( i = 0; i < datasourcetmp.length; i++) {
var row = Titanium.UI.createTableViewRow({
height : 120,
backgroundColor:'#fff',
borderWidth : 0,
borderColor : 'transparent'
});

var my_tasks_table_top_label = Titanium.UI.createLabel({
text : 'test row:'+i+' date:'+new Date(),
width : "100%",
font : {
fontSize : 12,
fontFamily : 'Helvetica'
},
color : "black",
top : 30,
height : 20,
left : 5
});
row.add(my_tasks_table_top_label);

data.push(row);
};

mytasks_helping_tableview.addEventListener('click', function(e) {

//view a task screen
var viewTask = Titanium.UI.createWindow({
height : "100%",
width : "100%",
title : "Helping with",
barColor : 'lightGray'
});

var viewTask_top_label = Titanium.UI.createLabel({
text : 'nested view '+ e.index,
width : "80%",
font : {
fontSize : 15,
fontFamily : 'Helvetica'
},
color : "gray",
top : 10,
height : 20,
left : 60
});
viewTask.add(viewTask_top_label);


tab1.open(viewTask);
});

tabletmp.setData(data);
}
var datasource = ['1','2','3','4','5','6','7'];
populateData(datasource,mytasks_helping_tableview);

mytasks_helping_button.addEventListener('click', function(e) {

populateData(datasource,mytasks_helping_tableview);

});

tabGroup.addTab(tab1);

tabGroup.open();

最佳答案

在上面的代码中,每次调用 populateData 时都会添加一个事件监听器。

mytasks_helping_tableview.addEventListener('click', function....

添加事件监听器不会“替换”现有事件监听器,因此它会在第一次“加载”后多次触发并打开多个窗口。

只需将 mytasks_helping_tableview.addEventListener 调用移到 populateData 函数之外。

关于iphone - appcelerator 钛 : nested push animation can result in corrupted navigation bar 中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7925374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com