方向肖像和PortraitUpSideDown仅适用于一个窗口

我有10个窗口。

最初的窗口是loginWindow,我想为Portrait和PortraitUpSideDown设置方向。 对于其余的窗户将有风景和人像方向。

在Tiapp.xml中

<key>UISupportedInterfaceOrientations~iphone</key> <array> <string>UIInterfaceOrientationPortrait</string> <string>UIInterfaceOrientationPortraitUpsideDown</string> <string>UIInterfaceOrientationLandscapeLeft</string> <string>UIInterfaceOrientationLandscapeRight</string> </array> 

其中为我的应用程序设置所有的方向,使肖像,portraitupsidedown,landscapeLeft和landscapeRight。

我只需要这些用于LoginWindow的肖像和portraitUpSideDown。
其余的窗户都有肖像,portraitupsidedown,landscapeLeft和landscapeRight的所有方向。

任何人都可以build议我怎样才能得到我的应用程序的这种行为。

您需要使用不同的窗口,并为每个窗口定义要允许的方向。

我的意思是,你必须像这样创buildloginWindow:

 var loginWindow = Ti.UI.createWindow({ orientationModes : [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT], fullscreen : false, navBarHidden : true }); winPortrait.orientationModes = [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT]; 

Windows想要允许所有的方向,必须像这样创build:

 var appWindow = Titanium.UI.createWindow({ width : Ti.UI.FILL, height : Ti.UI.FILL, fullscreen : false, navBarHidden : true, orientationModes : [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT, Ti.UI.LANDSCAPE_LEFT, Ti.UI.LANDSCAPE_RIGHT] }); appWindow.orientationModes = [Ti.UI.PORTRAIT, Ti.UI.UPSIDE_PORTRAIT, Ti.UI.LANDSCAPE_LEFT, Ti.UI.LANDSCAPE_RIGHT]; 

希望能帮助到你

呈现您的loginWindow作为模态视图,然后设置此方法为所需的方向。

 - (BOOL) shouldAutorotate { return NO; } - (NSUInteger) supportedInterfaceOrientations { return UIInterfaceOrientationMaskPortrait; } 

不build议在iOS中为单个应用使用不同的方向模式。 请阅读方向devise原则

苹果公司的开发者文档说:“人们希望在不同的方向使用你的应用程序,最好能达到这个期望。” 换句话说,不要把方向看成是一个麻烦,而是一个机会。

苹果进一步build议,当selectlocking或支持方向时, 应该考虑遵循以下原则:

在iPhone / iPod Touch上 – 不要在一个应用程序中混用窗口的方向; 所以,要么locking整个应用程序的方向,要么对方向更改做出反应。

在iPhone上 – 不支持纵向倒置,因为这可能会在接到电话时使用户的手机颠倒。

但是,您可以使用window的orientationMode属性来实现particualr窗口的方向