有问题应该自动旋转到界面方向



我的UIViewController中有以下代码,我正在设备和两个模拟器中测试iOS 5。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    if (IS_IPHONE){
        return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
    } else {
        return YES;
    }
}

我放了一个断点,它确实被调用了,但它仍然旋转到横向。这是为什么呢?

因为你告诉它这样做。 return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;意味着您希望自动旋转到除纵向颠倒之外的每个方向,其中包括横向。对于 iPad,即使缺少此约束,因此它将自动旋转到任何方向。

(你应该有一股新鲜的文档呼吸...

改用这个

return (interfaceOrientation == UIInterfaceOrientationPortrait);

最新更新