2

在 iPhone 的 Titanium 中,是否可以在导航栏上方显示某些内容 - 或者只是禁用导航栏的 always-top 属性?

这就是它现在的样子应用程序的实际状态

这是实际 Photoshop 模型的一部分Photoshop样机

调用它的代码片段是:

var win1 = Titanium.UI.createWindow({
        title: 'Home',
        navBarHidden: false,
        barImage: 'topbar.png',
        backgroundImage: 'bga.png'
});
c = Titanium.UI.createImageView({
        image: 'logobar.png',
        top: -13,
        right: 7,
        width: 74,
        height: 108,
        exitOnClose: !0
})
try {
        win1.add(c);
        c.animate({zIndex:3});
        win1.addEventListener('focus', function () {
                Titanium.App.Analytics.trackPageview('/win1')
        });
}catch(e){
        alert(e);
}

try-catch 是因为我不相信 .animate 的存在而实现的,但是它确实存在但不起作用。

4

1 回答 1

2

答案(或者可能不是它应该是什么样的)

Titanium 本身不支持操纵 zIndex 或更确切地说是 onTop 属性的功能。但是,我找到了一种允许显示叠加层的解决方法。

截图:它会是什么样子

此解决方法通过 Titanium 处理窗口的方式起作用。首先,我们定义主窗口(例如win1)并填充它。然后我们创建一个助手窗口(例如win1a)并将ImageView 分配给它。然后我们将新窗口放在另一个窗口的顶部,瞧。

    var win1 = Titanium.UI.createWindow({
            title: "*******",
            navBarHidden: false,
            barImage: 'topbar.png',
            backgroundColor: "gray",
    });
    var win1l = Titanium.UI.createWindow({
            title: "",
            navBarHidden: true,
            height: 84,
            width: 64,
            right: 0,
            top: 0
    });
// Inject ImageView into top-most window
    win1l.add(Titanium.UI.createImageView({
            image: "logobar.png",
            top: 2,
            right: 5,
            width: 60.3, //74, // 74/108 = 0.6851851852
            height: 88, //108, // ((108-20)*(74/108)) = 60.29629 ~ 60.3
            exitOnClose: !0
    }));
    win1l.open();

我希望这可能对您有所帮助。

谢谢,-凯南。

于 2012-05-27T00:25:45.210 回答