ios - 为什么 setNavigationBarHidden 有不同的动画?

标签 ios uinavigationcontroller uinavigationbar

在我调用的 viewDidAppear 方法中

[self.navigationController setNavigationBarHidden:YES animated:YES];

导航栏向左滑动隐藏。但是,如果我检测到点击手势,则执行以下操作

if([self.navigationController isNavigationBarHidden]){
  [self.navigationController setNavigationBarHidden:NO animated:YES];
} else {
  [self.navigationController setNavigationBarHidden:YES animated:YES];
}

导航栏通过从屏幕顶部向上/向下滑动来显示/隐藏。我是在做一些事情来引起不同类型的动画还是这是预期的行为?

最佳答案

好像要看VC的状态。

如果 VC 在 ViewWillAppear 中显示或隐藏导航栏,则 navcon 会动画化导航栏的外观(消失)以与新 VC 的外观一致。

另见评论: changing the direction that the hide animation moves a navigationBar

关于ios - 为什么 setNavigationBarHidden 有不同的动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6585958/

相关文章:

ios - 我的模态视图 Controller 没有出现在屏幕上。 UITabbar + 导航应用

iphone - 从 UINavigationControllerDelegate 内部获取当前 View Controller

ios - 如何仅在一个 View Controller 中使 UINavigationController 透明?

ios - 如何为整个应用自定义UINavigationBar?

ios - 自定义 UIControl,调用两次的操作

ios - 我可以只使 tableview 的特定部分可点击吗?

ios - 似乎无法删除 UIView?

iphone - uiimageview的长按手势和移动?

ios - 在两个静态 UITableViewCell 之间插入带有 UIPickerView 的行时出现 NSRangeException

ios - 呈现 View Controller 时缺少导航和标签栏