我想在我的应用中至少拥有iOS6。我尝试使用Mono提供的示例项目创建一个tabbar应用程序。我试图删除ShouldAutorotateToInterfaceOrientation方法并将其替换为
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
{
return UIInterfaceOrientationMask.Landscape;
}
我为两个ViewController都做了,但方向仍然是Portrait。我也试图覆盖ShouldAutorotate并返回true,但也没有帮助。如果我的应用仅以横向模式可用,我该怎么做?
我还尝试将部署目标设置为iOS6,但我只能在下拉列表中切换到5.1。
有什么建议吗?
编辑: 我安装的东西是完全错误的。因为我无法选择ios6作为部署目标,所以没有任何效果。一个新的干净安装后一切正常。
答案 0 :(得分:2)
与@svn一样,Info.plist
表示您的应用程序支持的方向。这可以通过覆盖GetSupportedInterfaceOrientations
进一步定制(例如限制)。
但也有(iOS 6中的新内容)PreferredInterfaceOrientationForPresentation可以(并且应该)覆盖。
Apple documentation中提供了更多详细信息,包括iOS6特定功能。
我还尝试将部署目标设置为iOS6,但我只能在下拉列表中切换到5.1。
这听起来像你正在使用的Xcode没有6.0 SDK。请参阅我对您的问题的评论,了解如何查看MonoDevelop用于构建应用程序的内容。
答案 1 :(得分:1)
您还应在Info.plist
中设置支持的设备方向答案 2 :(得分:1)
对于iOS 5和iOS 6支持,你应该这样做, 可悲的是,“GetSupportedInterfaceOrientations”存在问题,至少对于我的模态而言!
//iOS 6 support
public override UIInterfaceOrientationMask GetSupportedInterfaceOrientations ()
{
return base.GetSupportedInterfaceOrientations ();
}
//iOS 5 support
//if I don't put it it doesn't work for iOS 5 device but works on iOS 6 simulator
[Obsolete ("Deprecated in iOS6. Replace it with both GetSupportedInterfaceOrientations and PreferredInterfaceOrientationForPresentation")]
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
return true;
}
首先确定项目属性是否为津贴。