gpt4 book ai didi

ios - 在现有项目上使用 PKRevealController(幻灯片菜单)

转载 作者:行者123 更新时间:2023-11-29 10:45:51 27 4
gpt4 key购买 nike

在任何事情之前,我知道另一个用户存在类似的线程,我尝试了其中回答的代码但它对我不起作用,因为我的 VC 和 Storyboard有点不同,因此问同样的问题我的设置和参数

我的 Storyboard和应用程序如下所示,我的初始 rootViewController 作为 tabBarController。

Storyboard

我正在使用这个 PKRevealController 添加一个 slider 左侧菜单栏
https://github.com/pkluz/PKRevealController/blob/master/Documentation/USAGE.md

我将以下代码(取 self 在 SO 上找到的类似问题的答案)添加到我的 appDelegate 的 didFinishLaunchingWithOptions 方法中

PKRevealController *revealController = (PKRevealController *)self.window.rootViewController;
UIViewController *leftViewController = [[GDmenuViewController alloc] init];
UIViewController *frontViewController = [[UIStoryboard storyboardWithName:@"Main" bundle:nil] instantiateViewControllerWithIdentifier:@"tabBarCtrl"];
[revealController setLeftViewController:leftViewController];
[revealController setFrontViewController:frontViewController];

GDmenuViewController 是我为左侧使用的 UITableView 菜单制作的 UITableViewController 类
tabBarCtrl 是我设置的 tabBarController 的 StoryBoardID

编译后出现如下错误

2014-03-16 18:18:06.659[3595:70b] -[UITabBarController setLeftViewController:]: unrecognized selector sent to instance 0xcf565a0
2014-03-16 18:18:06.662[3595:70b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[UITabBarController setLeftViewController:]: unrecognized selector sent to instance 0xcf565a0'

--------更新------------

我将应用程序委托(delegate)中的代码更改为以下内容,因为我的 tabBarController 是我的初始 VC

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
GDmenuViewController *leftViewController = [tabBarController.storyboard instantiateViewControllerWithIdentifier:@"leftMenu"];
PKRevealController *revealController = [PKRevealController revealControllerWithFrontViewController:tabBarController leftViewController:leftViewController];
self.window.rootViewController = revealController;

现在我没有收到那个错误,但我的 menuViewController (TableView) 仍然没有显示。
我可以运行该应用程序,甚至可以滑动查看 PKVC 是否正常工作,但它只是显示一个灰色的空白 View ,而不是我的 tableView

最佳答案

对于遇到类似问题的任何人,这是我修复并使其工作的方法:

UITabBarController *tabBarController = (UITabBarController *)self.window.rootViewController;
GDmenuViewController *leftViewController = [tabBarController.storyboard instantiateViewControllerWithIdentifier:@"leftMenu"];
PKRevealController *revealController = [PKRevealController revealControllerWithFrontViewController:tabBarController rightViewController:leftViewController];
self.window.rootViewController = revealController;

我的 TabBarController 是我的 rootViewController 也是入口点
我的 leftMenu 是带有自定义类 GDmenuViewController 的滑动菜单 TableViewController

PS:如果滑动有效但您没有按预期看到滑动的 menuVC(在我的情况下为灰色),请检查 menuVC 的 identityInspector 中的所有内容,很可能会出现问题。
就我而言,我的单元格(静态)有问题,所以我不得不删除所有单元格并重新读取它们。

关于ios - 在现有项目上使用 PKRevealController(幻灯片菜单),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22437113/

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