我的UIViewController中有以下代码,我正在设备和两个模拟器中测试iOS 5。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if (IS_IPHONE){
return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
} else {
return YES;
}
}
我放了一个断点,它确实被调用了,但它仍然旋转到横向。这是为什么呢?
因为你告诉它这样做。 return interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown;
意味着您希望自动旋转到除纵向颠倒之外的每个方向,其中包括横向。对于 iPad,即使缺少此约束,因此它将自动旋转到任何方向。
(你应该有一股新鲜的文档呼吸...
改用这个
return (interfaceOrientation == UIInterfaceOrientationPortrait);