我有一个基于导航的应用程序.第一个视图(rootcontroller)仅以三个大按钮开始.没有导航栏.从那里开始,其他一切都是表格视图和导航栏.我这样做是为了显示/隐藏导航栏:

MyAppAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
appDelegate.navigationController.navigationBar.hidden = NO;

一旦我离开根控制器,导航栏就会猛然就位并放在tableview的顶部,而不是向下推.它会剪辑tableview的顶部.在导航栏消失的过程中,返回到根控制器并不顺利.是否有更平滑/更好的方法来实现仅为根控制器隐藏导航栏?

推荐答案

可以使用[navigationController setNavigationBarHidden:YES animated:YES]平滑隐藏该条.

Reference

Objective-c相关问答推荐

使用 NSMutableString 附加到文件的末尾

MKMapView 上的 UIPanGestureRecognizer?

通过指针算术访问数组值与 C 中的下标

如何通过仅更改高度而不更改宽度来调整 UILabel 的大小?

NSBundle pathForResource 为 NULL

将长格式的 NSString 拆分为多行

如何正确获取文件大小并将其转换为 Cocoa 中的 MB、GB?

UICollectionView 标头未显示

UITextView 禁用文本 Select

如何在 iPhone 中将 NSData 转换为字节数组?

alloc 和 allocWithZone: 有什么区别?

更改 UISearchBar 的字体大小

使用 OpenCV 在 iOS 中进行透视变换 + 裁剪

以编程方式访问应用标识符前缀

NSMutableArray addObject 不起作用

writeToFile:atomically: atomically 是什么意思?

UITableView ,重新加载时滚动到底部?

performFetchWithCompletionHandler 永远不会被解雇

如何判断 NSString 的最后一个字符

在 iPhone 上查找用户的 Documents 目录的最佳方法是什么?