iphone - 旋转 View 时不触发 UIInterfaceOrientationIsLandscape

标签 iphone ipad uiview rotation uiinterfaceorientation

我正在尝试让我的应用程序能够横向和纵向工作。我在所有 View Controller 中安装了正确的方法,并且当 ipad 模拟器旋转时此代码会触发,但总是触发纵向。景观 IF 子句永远不会被触发。我可能做错了什么?

-(void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)InterfaceOrientation {
NSLog(@"******* ROTATING ******");
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    if(UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) {

        NSLog(@"ROTATING View Landscape ******");

    } else    if(UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {

        NSLog(@"ROTATING View Portrait ******");

    }
} 

}

最佳答案

设备和界面方向似乎是不同的。我在 Apple 网站上找到了使用 UIDeviceOrientation 执行此操作的方法。使用此测试,当我旋转模拟器和我的 ipad 设备时,我会得到正确的触发器。

    UIDeviceOrientation deviceOrientation = [UIDevice currentDevice].orientation;

if (UIDeviceOrientationIsLandscape(deviceOrientation))

{


}

else if (deviceOrientation == UIDeviceOrientationPortrait)

{

}    

关于iphone - 旋转 View 时不触发 UIInterfaceOrientationIsLandscape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404780/

相关文章:

iphone - 在 Windows 上模拟 iPad、iPhone

ipad - 是否可以使用 css 媒体查询在 ipad 上定位 Kindle 应用程序?

iphone - 在 iPhone 上的另一个 ViewController 上创建一个 View 弹出窗口

iphone - iOS iPhone 手指绘画类应用程序,是否有内置 Canvas 或开源项目可以帮助我入门?

iphone - MFMailComposeViewController + UINavigationController iPhone

ios - iOS 上的 SIGTRAP 错误 – AutoreleasePoolPage::busted

iphone - 是否可以在不启动核心定位的情况下询问用户当前位置

iphone - mktime(从 php)到 iphone 时间(字符串)

ios - 旋转横向和背面时调整 UIView 大小的最佳方法

iphone - 用其他按钮停止声音