#import <UIKit/UIKit.h>
@interface WFNavigationController :UINavigationController
@property (assign,nonatomic) id directionDelegate;
@end
#import "WFNavigationController.h"
@interface WFNavigationController ()
@end
@implementation WFNavigationController
- (void)viewDidLoad {
[superviewDidLoad];
// Do any additional setup after loading the view.
}
- (void)didReceiveMemoryWarning {
[superdidReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
-(BOOL)shouldAutorotate
{
if(self.directionDelegate && [self.directionDelegaterespondsToSelector:@selector(shouldAutorotate)])
{
return [self.directionDelegateshouldAutorotate];
}
return [supershouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations{
//return UIInterfaceOrientationMaskLandscapeRight;
if(self.directionDelegate && [self.directionDelegaterespondsToSelector:@selector(supportedInterfaceOrientations)])
{
return [self.directionDelegatesupportedInterfaceOrientations];
}
return [supersupportedInterfaceOrientations];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
if(self.directionDelegate && [self.directionDelegaterespondsToSelector:@selector(shouldAutorotateToInterfaceOrientation:)])
{
return [self.directionDelegateshouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
return [supershouldAutorotateToInterfaceOrientation:interfaceOrientation];
}
UIViewController *mainVC = [Game_MainViewControllernew];
navVC = [[WFNavigationControlleralloc] initWithRootViewController:mainVC];
navVC.directionDelegate = mainVC;
三:实现在mainVC重写那些方法
-(NSInteger)supportedInterfaceOrientations
{
returnUIInterfaceOrientationMaskPortrait ;
}
- (BOOL)shouldAutorotate
{
returnNO;
}
-(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
returnUIInterfaceOrientationPortrait;
}