【问题标题】:How to rotate the ipad screen using code in my ios app如何使用我的 ios 应用程序中的代码旋转 ipad 屏幕
【发布时间】:2012-06-18 09:01:45
【问题描述】:

当我的应用程序启动时,它最初是纵向的。它可以在 ipad 设备物理旋转时旋转。

我希望添加一个功能,允许用户单击按钮打开帮助教程。我希望教程只是横向的。

所以我重写了shouldAutorotateToInterfaceOrientation 方法来检查应用程序是否处于帮助教程模式;如果是,则返回“是”:

return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || 
    interfaceOrientation ==UIInterfaceOrientationLandscapeRight)`

当屏幕是纵向的,并且用户点击按钮打开帮助教程时,如何在按钮响应代码的开头将屏幕旋转为横向?

【问题讨论】:

    标签: ios screen rotation


    【解决方案1】:

    如果带有帮助教程的控制器不支持纵向,它会自动以横向模式显示图像,即使用户不这样握住设备,您也不应该需要“旋转”屏幕自己,通过代码。

    如果您想手动旋转视图(但不更改设备方向),请使用此代码进行 90 度旋转

    CGAffineTransform transform = CGAffineTransformMakeRotation(-M_PI_2);
    self.view.transform = transform;
    

    M_PI_2 = 90 度

    M_PI = 180 度

    【讨论】:

    • 但我的应用支持所有方向。这是我的 shouldAutorotateToInterfaceOrientation: 方法。 - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { if (tutorialModeOn == NO) 返回 YES; else { return (interfaceOrientation == UIInterfaceOrientationLandscapeLeft || interfaceOrientation ==UIInterfaceOrientationLandscapeRight); } }
    • 应用程序本身可以支持所有方向,但视图控制器可以有不同的设置,如果需要,只支持一个方向。它们是不同的东西
    • 如何通过编码方式将我的视图控制器限制为横向。我的应用程序中的教程是添加到主视图的滚动视图。
    • 喜欢这里:stackoverflow.com/a/5296430/855738 但使用横向而不是纵向
    • 当mainView为竖屏时,用户点击按钮打开教程,教程为添加到scrollview的一组imageviews。如何以纵向模式初始化横向滚动视图。我找到了一个方法 UIDevice setOrientation: 可以用代码强制方向,但不幸的是该方法不能在最新的 ios 中使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多