1

嗨,我现在对视图控制器的方向有疑问。以下是我的 .h 文件。

@interface IPad_HomeViewController : UIViewController <UINavigationControllerDelegate>{
    UIAlertView *alertWithYesNoButtons;
}
@property (weak, nonatomic) IBOutlet UILabel *lblStatus;

@end

我在 .m 文件中实现了以下方法。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
    return NO;
}

然后我做了一个断点。我意识到 shouldAutorotateToInterfaceOrientation 完全没有被调用。不知道为什么它没有被调用。

请告诉我。谢谢

4

2 回答 2

6

我认为这是因为您的 UINavigationController 处理了呼叫。实现以下将其发送回 viewController。

- (BOOL)shouldAutorotate
{
    return [[self.viewControllers lastObject] shouldAutorotate];
}

- (NSUInteger)supportedInterfaceOrientations
{
    return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}

// pre-iOS 6 support
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
    return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
于 2012-12-14T09:50:59.543 回答
0

iOS 5 和 iOS 6 之间的旋转支持发生了很大变化。

转到项目的目标摘要页面并检查“iPhone/Ipod 部署信息”和“支持的接口方向”。您是否启用了设备旋转?

于 2012-12-20T10:09:01.990 回答