gpt4 book ai didi

ios - 导航栏显示/隐藏

转载 作者:IT王子 更新时间:2023-10-29 07:26:50 25 4
gpt4 key购买 nike

我有一个应用程序,其导航栏由 2 个栏按钮组成。我想在用户双击屏幕时隐藏和显示此导航栏。

最初,导航栏应该是隐藏的。当用户双击屏幕时,导航栏应该出现一个动画,就像在 iPhone 的照片库中看到的那样。

我该怎么做?我们总是很感激您的建议。

最佳答案

这不是几行代码就能解决的问题,但这是一种可能适合您的方法。

隐藏导航栏:

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

显示它:

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

此方法的文档是 available here .

要监听“双击”或双击,子类 UIView 并使该子类的实例成为您的 View Controller 的 view 属性。

在 View 子类中,覆盖它的 -touchesEnded:withEvent:方法并计算您在一段时间内获得了多少次触摸,通过测量两次连续点击之间的时间,可能使用 CACurrentMediaTime() .或测试 [touch tapCount] 的结果.

如果您点击两次,您的子类 View 会发出一个 NSNotification您的 View Controller 已注册监听。

当您的 View Controller 听到通知时,它会触发一个选择器,该选择器使用上述代码隐藏或显示导航栏,具体取决于导航栏的当前可见状态,通过读取导航栏的 isHidden 访问。属性(property)。

编辑

我关于处理点击事件的部分回答可能在 iOS 3.1 之前很有用。 UIGestureRecognizer如今,类可能是处理双击的更好方法。

编辑 2

Swift 隐藏导航栏的方式是:

navigationController?.setNavigationBarHidden(true, animated: true)

显示它:

navigationController?.setNavigationBarHidden(false, animated: true)

关于ios - 导航栏显示/隐藏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2926914/

25 4 0