xcode 导航栏未显示在故事板的 UItableviewcontroller 中
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/15660527/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Navigationbar not displaying in UItableviewcontroller in storyboard
提问by Naveen
i created a UICollectionviewcontroller
view and embed a UINavigationcontroller
then I created one button in navigation bar.Again i created one UITableviewcontroller
also i embed one uinavigationcontroller
to it,when i click the button in UICollectionview
navigation bar it shows the UITableviewcontroller
up to this point is fine,but after this the navigation bar in UITableview
controller is not showing at all.please help me
我创建了一个UICollectionviewcontroller
视图并嵌入了一个UINavigationcontroller
然后我在导航栏中创建了一个按钮。再次我创建了一个UITableviewcontroller
我也嵌入了一个uinavigationcontroller
按钮,当我点击UICollectionview
导航栏中的按钮时,它显示UITableviewcontroller
到目前为止是好的,但在此之后导航UITableview
控制器中的栏根本没有显示。请帮助我
回答by Stan Cromlish
Try this piece of code to set the navbar to not be hidden:
试试这段代码来设置导航栏不被隐藏:
-(void) viewWillAppear:(BOOL)animated {
[[self navigationController] setNavigationBarHidden:NO animated:YES];
}
Good luck
祝你好运
回答by barryjones
According to apple docs, this won't be showing the navigation controller. In order to show the navigation controller you need to instantiate a navigation controller first, and then load the table view controller as shown below :
根据苹果文档,这不会显示导航控制器。为了显示导航控制器,您需要先实例化导航控制器,然后加载表视图控制器,如下所示:
LTBaseTableViewController *viewController = [[LTBaseTableViewController alloc] initWithStyle:UITableViewStylePlain];
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:viewController];
[self.window setRootViewController:navigationController];
回答by Paul Williams
I also struggled with this. Eventually solved by adding a Navigation Controller as defined in https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html
我也为此苦苦挣扎。最终通过添加https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/WorkingwithConstraintsinInterfaceBuidler.html 中定义的导航控制器解决
回答by Nora Alnashwan
In addition to @barryjones solution, you can directly push a table view controller using the navigation controller.
除了@barryjones 解决方案,您还可以使用导航控制器直接推送表视图控制器。
[self.navigationController pushViewController:yourTableViewController animated:YES];
回答by Paul Williams
Further to the above answers, I have also struggled in a similar way with moving programatically between tabs of a UITabBArController.
除了上述答案之外,我还以类似的方式在 UITabBArController 的选项卡之间以编程方式移动。
Most posts I read suggested
我读过的大多数帖子都建议
tabBarController?.selectedIndex = 0
however this would create the situation where the tab bar was no longer visible. Eventually solved by adding the following to the class in AppDelegate.swift
但是,这会造成标签栏不再可见的情况。最终通过将以下内容添加到 AppDelegate.swift 中的类来解决
var tabBarController: UITabBarController?
and then also in AppDelegate, I modified didFinishLaunchingWithOptions as follows:
然后也在 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
}
You can then use the following line anywhere inside your various view controllers
然后,您可以在各种视图控制器中的任何位置使用以下行
tabBarController?.selectedIndex = 0