gpt4 book ai didi

ios - ECSlidingViewController 2.0 禁用一个 UIViewController 的旋转

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:05:28 26 4
gpt4 key购买 nike

我的应用程序使用 ECSlidingViewController 2.0 作为滑动菜单构建。我只想禁用一个 UIViewController 的旋转。我所有的 UIViewController 都以 UINavigationController 开头。

我创建了一个 UINavigationController 的子类来实现这些方法并将该子类分配给 sotryboard 中的所有 UINavigationController。但它不起作用。似乎没有触发代码。

在 MyNavigationController.m 中:

#import "MyNavigationController.h"
#import "ContactUsViewController.h"

@interface MyNavigationController ()

@end

@implementation MyNavigationController

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view.
}

- (BOOL)shouldAutorotate {

NSLog(self.topViewController.description);
if ([self.topViewController isMemberOfClass:[ContactUsViewController class]]){
return NO;
}else{
return YES;
}

}

@end

ContactUsViewController 是我不想旋转的 UIViewController。

最佳答案

5 个步骤(我使用 Storyboard 和 IOS 7 运行)

  1. 子类化 ECSlidingViewController。 (例如 MyECSlidingViewController)
  2. 在 MyECSlidingViewController 中创建您自己的 shouldAutorotate 和 supportedInterfaceOrientations。
  3. 子类 UINavigationController 并分配给所有现有的 UINavigationController。 (例如 MyNavigationController)
  4. 在 MyNavigationController 中创建您自己的 shouldAutorotate 和 supportedInterfaceOrientations。
  5. 在 UIViewController 中,您希望将其设置为仅纵向。

MyECSlidingViewController.m

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

-(NSUInteger)supportedInterfaceOrientations
{
return [self.topViewController supportedInterfaceOrientations];

}

MyNavigationController.m

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

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

你的ViewController.m

- (BOOL)shouldAutorotate
{
return NO;
}

- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}

希望对您有所帮助!

关于ios - ECSlidingViewController 2.0 禁用一个 UIViewController 的旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23299926/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com