【发布时间】:2017-04-21 00:17:49
【问题描述】:
我已经使用 SWRevealViewController 库很久了,没有任何问题,我真的很喜欢它! 这次我不得不将它添加到一个项目中,所以这就是我所做的:
- 我采用了“RevealControllerExample”示例。
- 我已将 SWRevealViewController.h/.m 直接复制到我的项目中。
- 我已将 FrontViewController.h/.m/.xib 直接复制到我的项目中 我已将 RearViewController.h/.m/.xib 直接复制到我的项目中,但我删除了 didSelectRowAtIndexPath 中的所有代码(我不需要暂时)。
- 我忽略了 RightViewController,因为我不需要它。
- 我已将所有初始化代码添加到我的 AppDelegate:didFinishLaunchingWithOptions 中,但 RightViewController 的初始化代码除外,因为我不需要它。
这就是我的初始化代码:
FrontViewController *frontViewController = [[FrontViewController alloc] init];
RearViewController *rearViewController = [[RearViewController alloc] init];
UINavigationController *frontNavigationController = [[UINavigationController alloc] initWithRootViewController:frontViewController];
UINavigationController *rearNavigationController = [[UINavigationController alloc] initWithRootViewController:rearViewController];
SWRevealViewController *revealController = [[SWRevealViewController alloc] initWithRearViewController:rearNavigationController frontViewController:frontNavigationController];
revealController.delegate = self;
self.swViewController = revealController;
self.window.rootViewController = self.swViewController;
[self.window makeKeyAndVisible];
return YES;
当我启动应用程序时,由于无限循环而崩溃。这是调用堆栈:
...(here comes inifite calls to transitionFromViewController)...
#36603 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36604 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36605 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36606 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36607 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36608 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36609 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36610 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36611 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36612 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36613 0x00118620 in __80-[SWRevealViewController _transitionFromViewController:toViewController:inView:]_block_invoke_2 at /path/to/myproject/SWRevealViewController.m:1683
#36614 0x0011759c in __82-[SWRevealViewController _performTransitionOperation:withViewController:animated:]_block_invoke at /path/to/myproject/SWRevealViewController.m:1470
#36615 0x0011757e in -[SWRevealViewController _performTransitionOperation:withViewController:animated:] at /path/to/myproject/SWRevealViewController.m:1497
#36616 0x001137be in -[SWRevealViewController initWithRearViewController:frontViewController:] at /path/to/myproject/SWRevealViewController.m:635
#36617 0x000e1ec0 in -[AppDelegate application:didFinishLaunchingWithOptions:] at /path/to/myproject/AppDelegate.m:35
我已经直接测试了样本,当然它可以工作。 我正在使用 Xcode 8,并且正在使用 iOS 10.1 进行编译。 我正在做的唯一“不同”的事情是我的应用程序只是横向的,我不知道这是否会影响侧边菜单。
会发生什么?
【问题讨论】:
-
您需要将
SWRevealViewController与您的项目集成,并且只需要左侧导航? -
是的,就是这样。我需要一个左侧导航。我为了同样的目的多次使用这个库没有问题,但这次我不知道它发生了什么。
-
其实我已经用故事板做了好几次了
-
我真的很感激。我可以试试你的代码。
-
感谢 vaibhav!我会尽快尝试您的解决方案,并告诉您情况如何。我不是直接使用 Storyboard 而是 ViewControllers,我希望我可以调整你的解决方案。
标签: ios objective-c swrevealviewcontroller