【问题标题】:Monotouch rotate view in Portrait/Landscape纵向/横向单点触控旋转视图
【发布时间】:2009-10-04 18:33:39
【问题描述】:

谁能举例说明如何将单点触控应用程序的视图从纵向旋转到横向,反之亦然?

【问题讨论】:

    标签: iphone xamarin.ios


    【解决方案1】:

    如果您在 Interface Builder 中设置 ui 元素的几何形状,请确保在 Size Inspector (Cmd+3) 中设置 Autosizing 属性。然后,您可以通过单击 Interface Builder 中视图标题栏左上方的小“旋转”按钮来查看旋转后视图的外观。

    完成所有设置后,只需在 ViewController 中覆盖以下方法:

    public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
    {
        return true;
    }
    

    现在在模拟器中,您可以随意旋转,您的 UI 将自动适应。

    【讨论】:

    • 天啊,我简直不敢相信这是多么简单! :) 这绝对应该被标记为正确答案。谢谢。
    【解决方案2】:

    大家都知道,它现在在视图 Transform 对象上:

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

    对于所有像我这样不想使用任何 CGAffineTransform 的 dotnet 人,认为它会破坏其他东西,试试吧。非常适合我的实例。旋转 NavigationController.View,里面的一切都很完美。

    【讨论】:

    • 这只会旋转一个特定的视图,如果它在 UINavigationController 内,导航控制栏将在屏幕的错误一侧。
    【解决方案3】:

    这是你可以尝试的。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-23
      • 2012-12-21
      相关资源
      最近更新 更多