Monotouch如何在竖屏/横屏模式下旋转视图

7
有人能给出一个示例,说明如何将Monotouch应用程序的视图从竖屏旋转到横屏,反之亦然吗?
3个回答

8
如果您在Interface Builder中设置了UI元素的几何形状,请确保在Size Inspector(Cmd + 3)中设置< strong> Autosizing 属性。然后,您可以通过单击界面生成器中视图标题栏左上角的小“旋转”按钮来查看旋转后视图的外观。
设置好所有内容后,只需在ViewController中覆盖以下方法即可:
public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
    return true;
}

现在在模拟器中,您可以随心所欲地旋转屏幕,您的用户界面会自动适应。

哇,我简直不敢相信这是多么简单! :) 这绝对应该被标记为正确答案。谢谢。 - BruceHill

1

提醒大家一下,现在它位于视图变换对象上:

View.Transform.Rotate(3.14159f * 0.5f);

对于像我这样的所有dotnet人员,不想使用任何CGAffineTransform的东西,认为它会破坏其他东西,只需尝试一下。对我的实例非常有效。旋转了NavigationController.View,里面的所有内容都是完美的。


这仅会旋转特定的视图,如果它在UINavigationController中,则导航控制栏将位于屏幕错误的一侧。 - Timothy Groote

1

这是你可以尝试的。

如果您想在触摸视图时更改视图的方向,请按照以下步骤进行:

  1. 在视图内实现touchesBegan方法。

  2. 在touchesBegan方法中检查当前设备方向,[[UIDevice currentDevice] orientation];

  3. 如果要更改方向,则使用CGAffineTransformation方法在视图上,如viewRef.transform = CGAffineTransformMakeRotation(angle);


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接