【问题标题】:How to check orientation in UIView? [duplicate]如何在 UIView 中检查方向? [复制]
【发布时间】:2011-11-18 13:23:36
【问题描述】:

可能重复:
iPhone orientation

我想检查 UIView 的方向(横向还是纵向)。

我该怎么做?

【问题讨论】:

  • 有大量关于此的帖子,只需搜索“iPhone 检查方向”即可显示。发帖前请先尝试搜索。

标签: iphone objective-c cocoa-touch ios4


【解决方案1】:

UIView 没有方向属性。

您可以使用它来检查当前设备的方向:

    UIInterfaceOrientation  orientation = [UIDevice currentDevice].orientation;
    if (orientation == UIDeviceOrientationPortrait || orientation == UIDeviceOrientationPortraitUpsideDown) {
        //portrait
    }
    else {
        //landscape
    }

【讨论】:

  • 它不是 UIInterfaceOrientation。它的 UIDeviceOrientation。这不会检查横向或纵向模式。 :(
【解决方案2】:

在您的类中实现UIAccelerometerDelegate(我假设您已将UIView 子类化)为@interface YourView : UIView<UIAccelerometerDelegate>,然后在-(void)accelerometer:(UIAccelerometer *)accelerometer didAccelerate:(UIAcceleration *)acceleration 方法中,检查acceleration.x 的值是多少。如果它接近 1 或 -1,则设备以横向左/右方式举起。对acceleration.y 进行同样的检查以确定纵向

【讨论】:

    【解决方案3】:

    UIView 没有方向属性。您可以查看UIDeviceUIApplicationStatusBar 方向

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 2021-09-29
      • 2010-09-08
      • 1970-01-01
      • 2019-09-09
      • 2015-07-08
      • 2021-01-20
      相关资源
      最近更新 更多