FromInterfaceOrientation

FromInterfaceOrientation

我正在对iPhone应用程序中从肖像到风景的各种视图进行一些调整。如果用户执行纵向->横向->纵向->横向(如我做一些数学操作,则会重新放置视图),则此方法效果很好。

但是,如果用户从Portait->纵向倒置,或从横向左->横向右转到,我的代码将不起作用。

我可以检测到180度翻转并忽略它吗?我尝试了以下方法:

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
    if ((fromInterfaceOrientation == UIInterfaceOrientationPortrait) &&
        (UIDeviceOrientationIsPortrait(self.interfaceOrientation))
    {
    }
    else if ((fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft) ||
             (fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight) &&
             (UIDeviceOrientationIsLandscape(self.interfaceOrientation)))
    {
    }
    else
    {
      // Do something - it didn't flip 180.
    }
}

最佳答案

您需要在逻辑的这一部分加上括号:

fromInterfaceOrientation == UIInterfaceOrientationLandscapeLeft || fromInterfaceOrientation == UIInterfaceOrientationLandscapeRight

..否则,您的逻辑将不会如您所愿。 &&的优先级高于||

08-26 04:16