1

我创建了一个UICollectionviewcontroller 视图并嵌入了一个UINavigationcontroller然后我在导航栏中创建了一个按钮。我再次创建了一个UITableviewcontroller也我嵌入了一个uinavigationcontroller,当我单击UICollectionview导航栏中的按钮时它显示UITableviewcontroller到这一点很好,但在此之后导航控制器中的栏UITableview根本没有显示。请帮助我

uitableviewcontroller 图片

在此处输入图像描述

4

5 回答 5

3

尝试使用这段代码将导航栏设置为不隐藏:

-(void) viewWillAppear:(BOOL)animated {
[[self navigationController] setNavigationBarHidden:NO animated:YES];
}

祝你好运

于 2013-03-27T13:53:14.373 回答
2

根据苹果文档,这不会显示导航控制器。为了显示导航控制器,您需要先实例化一个导航控制器,然后加载表格视图控制器,如下所示:

LTBaseTableViewController *viewController = [[LTBaseTableViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window setRootViewController:navigationController];
于 2015-02-14T21:47:45.627 回答
0

除了@barryjones 解决方案,您还可以使用导航控制器直接推送表格视图控制器。

[self.navigationController pushViewController:yourTableViewController animated:YES];
于 2016-11-10T07:19:30.447 回答
0

除了上述答案之外,我还以类似的方式在 UITabBArController 的选项卡之间以编程方式移动。

我读过的大多数帖子都建议

tabBarController?.selectedIndex = 0

但是,这会造成标签栏不再可见的情况。最终通过将以下内容添加到 AppDelegate.swift 中的类来解决

var tabBarController: UITabBarController?

然后在 AppDelegate 中,我修改了 didFinishLaunchingWithOptions 如下:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    // Override point for customization after application launch.
    tabBarController = window?.rootViewController as! UITabBarController
    return true
}

然后,您可以在各种视图控制器中的任何位置使用以下行

tabBarController?.selectedIndex = 0
于 2017-04-26T22:28:35.970 回答