嗨我现在对viewcontroller的方向有疑问。以下是我的.h文件。
@interface IPad_HomeViewController : UIViewController <UINavigationControllerDelegate>{
UIAlertView *alertWithYesNoButtons;
}
@property (weak, nonatomic) IBOutlet UILabel *lblStatus;
@end
我在.m文件中实现以下方法。
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation{
return NO;
}
然后我做了一个断点。我意识到shouldAutorotateToInterfaceOrientation完全没有被调用。不知道为什么没有被召唤。
请告诉我。
感谢
答案 0 :(得分: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);
}
答案 1 :(得分:0)
在iOS 5和iOS 6之间轮换支持发生了很大变化。
转到项目的目标摘要页面,然后选中“iPhone / Ipod部署信息”和“支持的接口方向”。你启用了设备旋转吗?