在Titanium中添加100%高度的视图在iOS上不起作用

时间:2011-11-11 10:56:13

标签: javascript ios titanium appcelerator titanium-mobile

当我尝试在Titanium中添加100%高度的View时出现显示问题 - 它在Android上正确显示但在iOS上没有显示。这是一个简化的代码:

Ti.UI.setBackgroundColor('#000');

var win = Ti.UI.createWindow({  
    title:'win',
    backgroundColor:'#fff'
});

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    layout: 'horizontal'
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%' // problem
})

s.add(r);

win.add(s);
win.open();

Android上的结果(正确): Android

iPad上的结果: iPad

如果我将高度设置为有限数字,它确实有效,但我希望视图覆盖整个高度。我怎样才能做到这一点,为什么100%的高度不适用于iOS?

1 个答案:

答案 0 :(得分:1)

这可能与向view添加view有关。如果您将yellow view添加到window,并将zIndex提供给这两个视图,则它可以正常运行。

为了将其左对齐,您应该使用left: 0;,而不是layout: 'horizontal',因为根据文档布局属性不存在:http://developer.appcelerator.com/apidoc/mobile/latest/Titanium.UI.Window-object

var s = Ti.UI.createView({
    width:'100%',
    height:'100%',
    backgroundColor:'red',
    zIndex: 1
});

var r = Ti.UI.createView({
    backgroundColor:'yellow',
    width:300,
    height:'100%', // no problem
    zIndex: 2,
    left: 0
});

win.add(r);