我使用与iPhone兼容的Titanium开发应用程序。我在4个视图之间导航。 第一视图(肖像)--->第二视图(风景) - >第3视图(肖像)--->第4视图(肖像) 我的应用程序中有3个纵向视图,我使用 Tiapp.xml 并添加
<orientations device="iphone">
<orientation>Ti.UI.PORTRAIT</orientation>
</orientations>
对于第二视图,我使用了以下代码;
var winCheckInLogin = Ti.UI.createWindow({
backgroundColor : "black",
orientationModes : [Titanium.UI.LANDSCAPE_LEFT, Titanium.UI.LANDSCAPE_RIGHT],
navBarHidden : true, // Hides the native title bar
});
winCheckInLogin.addEventListener("open", function() {
Titanium.UI.orientation = Titanium.UI.LANDSCAPE_LEFT;
});
但是对于加载时间,在我旋转设备后,第二个视图出现在纵向模式下,它将其保持为横向。我需要将其加载为横向模式并按原样锁定该屏幕。
请帮我解决这个问题。
非常感谢
答案 0 :(得分:1)
在你的tiapp.xml中
<orientations device="iphone">
<orientation>Ti.UI.PORTRAIT</orientation>
<orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
<orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
</orientations>
对于所有Windows(而不是视图),请务必将该窗口的属性添加为:
orientationModes: [Ti.UI.PORTRAIT]
for Portrait-only Windows,
仅适用于lanscape:
orientationModes: [Ti.UI.LANDSCAPE_LEFT, Ti.UI.LANDSCAPE_RIGHT]
这应该是你正在寻找的技巧。
答案 1 :(得分:1)
加扬, 建议不要在iPhone中为单个应用程序使用不同的方向模式。请阅读Orientation design principles
Apple's Developer documentation说:“人们希望使用你的 应用程序在不同的方向,当你可以实现这一点时,它是最好的 期望。“换句话说,不要把处理方向视为一种方式 麻烦但是机会。
Apple建议在选择锁定或支持时进一步建议 方向,您应该考虑遵循以下原则:在iPhone / iPod Touch上 - 不要在单个应用程序中混合窗口的方向;因此,要么锁定整个应用程序的方向,要么对方向更改作出反应。
在iPhone上 - 不支持纵向倒置方向,因为这可能会在接到电话时让用户手机倒置。
但是,如果您想使用不同的方向,只需将以下内容添加到<orientations device="iphone">
标记
<orientations device="iphone">
<orientation>Ti.UI.LANDSCAPE_LEFT</orientation>
<orientation>Ti.UI.LANDSCAPE_RIGHT</orientation>
</orientations>
这将为你做好准备!!
http://docs.appcelerator.com/titanium/latest/#!/api/Titanium.UI.Window-property-orientationModes