我有10个窗口。
初始窗口是loginWindow我想设置Portrait和PortraitUpSideDown的方向。 剩下的窗户将有横向和纵向。
在Tiapp.xml中
<key>UISupportedInterfaceOrientations~iphone</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
<string>UIInterfaceOrientationLandscapeLeft</string>
<string>UIInterfaceOrientationLandscapeRight</string>
</array>
设置我的应用程序的所有方向,以启用纵向,纵向倒置,landscapeLeft和landscapeRight。
对于LoginWindow,我只需要那些肖像和portraitUpSideDown 窗口的其余部分确实具有纵向,纵向倒置,landscapeLeft和landscapeRight的所有方向。
任何人都可以建议我如何能够为我的应用程序获取此行为。
答案 0 :(得分:1)
您需要使用不同的窗口并为每个窗口定义您想要允许的方向。
我的意思是,你必须像这样创建loginWindow:
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必须像这样创建:
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];
希望有所帮助
答案 1 :(得分:0)
将您的loginWindow显示为模态视图,然后将此方法设置为所需的方向。
- (BOOL) shouldAutorotate
{
return NO;
}
- (NSUInteger) supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
答案 2 :(得分:0)
建议不要在iOS中为单个应用程序使用不同的方向模式。请阅读Orientation design principles
实现特定窗口的方向Apple's Developer documentation说:&#34;人们希望使用你的 应用程序在不同的方向,当你可以实现这一点时,它是最好的 。期望&#34;换句话说,不要将处理方向视为一种方式 麻烦但是机会。
Apple建议在选择锁定或支持时进一步建议 方向,您应该考虑遵循以下原则:在iPhone / iPod Touch上 - 不要在单个应用程序中混合窗口的方向;因此,要么锁定整个应用程序的方向,要么对方向更改作出反应。
在iPhone上 - 不支持纵向倒置,因为这可能会让用户在接到电话时将手机倒置。