Appcelerator Titanium - 一个基本的UI属性适用于Android但不适用于iPhone?

时间:2012-03-27 05:15:10

标签: titanium titanium-mobile

大家好!

这里的新手

自己一直在思考这个问题但没有运气,所以我决定在这里发帖子

这是我的问题

function refreshTableData(object){
var tableData=[];
for(var i=0;i<object.array.length;i++){
    var r=Titanium.UI.createTableViewRow({height:'auto'/*,layout:'horizontal'*/});

    var nameLabel=Titanium.UI.createLabel({text:object.array[i].program_name,center:{x:'12%'}});
    var countLabel=Titanium.UI.createLabel({text:object.array[i].count,center:{x:'37%'}});
    var classLabel=Titanium.UI.createLabel({text:object.array[i].class_name,center:{x:'62%'}});
    var dateLabel=Titanium.UI.createLabel({text:object.array[i].date,center:{x:'87%'}});

    r.add(nameLabel);
    r.add(countLabel);
    r.add(classLabel);
    r.add(dateLabel);

    tableData.push(r);
}
tableView.setData(tableData);
}

上面代码中的中心属性在android上运行正常

根据我的值

定位四个标签

但不在我的iphone模拟器上

所有四个标签只是粘在行的左侧,相互覆盖

我检查了appcelerator API,android和iphone都支持该属性

我不知道导致问题的原因

提前谢谢你们

1 个答案:

答案 0 :(得分:1)

在iOS中默认情况下,标签为100%宽。因此一切都贴在左边。通过添加属性width: "auto",您应该没问题。但必须设置它(在iOS中大多数UI元素中默认为100%)。