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

发布于 2024-12-15 06:05:26 字数 732 浏览 0 评论 0 原文

当我尝试在 Titanium 中添加 100% 高度的视图时,我遇到了显示问题 - 它在 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 上不起作用?

I'm having a display problem when I try to add a View with 100% height in Titanium - it appears correctly on Android but not on iOS. Here's a simplified code:

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();

Result on Android (correct):
Android

Result on iPad:
iPad

It does work if I set the height to a finite number, but I want the view to cover the entire height. How can I accomplish this, and why doesn't 100% height work on iOS?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

澜川若宁 2024-12-22 06:05:26

它可能与将视图添加到视图有关。如果将黄色视图添加到窗口,并为两个视图指定zIndex,则它可以正常工作。

为了向左对齐,您应该使用 left: 0;,而不是 layout: 'horizo​​ntal',因为根据文档,布局属性不存在: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);

It probably has to do with adding a view to a view. If you add the yellow view to the window, and give zIndex to the both views, it works correctly.

For aligning it left, you should use left: 0;, not layout: 'horizontal' as according to the documentation the layout property does not exists: 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);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文