個別界面強(qiáng)制橫屏

#import "UINavigationController+InterfaceOrientation.h"

@implementation UINavigationController (InterfaceOrientation)

/*

*? 模態(tài)方式跳轉(zhuǎn)到到nav的控制器,要加入這個分類

*

*/

- (BOOL)shouldAutorotate {

if ([self.topViewController respondsToSelector:@selector(shouldAutorotate)]) {

return [self.topViewController shouldAutorotate];

}

return NO;

}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

if ([self.topViewController respondsToSelector:@selector(supportedInterfaceOrientations)]) {

return [self.topViewController supportedInterfaceOrientations];

}

return [super supportedInterfaceOrientations];

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

if ([self.topViewController respondsToSelector:@selector(preferredInterfaceOrientationForPresentation)]) {

return [self.topViewController preferredInterfaceOrientationForPresentation];

}

return [super preferredInterfaceOrientationForPresentation];

}

@end

/*

* 模態(tài)方式跳轉(zhuǎn)

*? 控制器調(diào)用

*

- (BOOL)shouldAutorotate {

return YES;

}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {

return UIInterfaceOrientationMaskLandscapeRight;

}

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation {

return UIInterfaceOrientationLandscapeRight;

}

*

*/

/*

*? push方式跳轉(zhuǎn)

*

- (void)viewWillAppear:(BOOL)animated {

[super viewWillAppear:animated];

if([[UIDevice currentDevice]respondsToSelector:@selector(setOrientation:)]) {

SEL selector = NSSelectorFromString(@"setOrientation:");

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];

[invocation setSelector:selector];

[invocation setTarget:[UIDevice currentDevice]];

int val = UIInterfaceOrientationLandscapeRight;//橫屏

[invocation setArgument:&val atIndex:2];

[invocation invoke];

}

}

- (void)viewWillDisappear:(BOOL)animated {

[super viewWillDisappear:animated];

if([[UIDevice currentDevice]respondsToSelector:@selector(setOrientation:)]) {

SEL selector = NSSelectorFromString(@"setOrientation:");

NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:[UIDevice instanceMethodSignatureForSelector:selector]];

[invocation setSelector:selector];

[invocation setTarget:[UIDevice currentDevice]];

int val = UIInterfaceOrientationPortrait;

[invocation setArgument:&val atIndex:2];

[invocation invoke];

}

}

*

*/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容