导航栏不在故事板中的UItableviewcontroller中显示

时间:2013-03-27 13:50:22

标签: ios xcode uinavigationcontroller storyboard uitableview

我创建了一个UICollectionviewcontroller视图并嵌入了UINavigationcontroller,然后我在导航栏中创建了一个按钮。我创建了一个UITableviewcontroller,我还在其中嵌入了一个uinavigationcontroller,当我点击UICollectionview导航栏中的按钮时,它显示UITableviewcontroller到目前为止这是正常的,但在此之后UITableview控制器中的导航栏根本没有显示。请帮助我

uitableviewcontroller image

enter image description here

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

LTBaseTableViewController *viewController = [[LTBaseTableViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window setRootViewController:navigationController];

答案 2 :(得分:0)

答案 3 :(得分:0)

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

[self.navigationController pushViewController:yourTableViewController animated:YES];

答案 4 :(得分: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