【发布时间】:2012-03-03 17:58:38
【问题描述】:
如果有人能解释如何通过单击来显示/隐藏 UItoolbar 和/或 UINavigationBar,我将不胜感激。例如,就像在全屏图片库中一样。我想在工具栏上实现带有控件的图像库,通过在图像上点击一次来解除/显示该控件。
【问题讨论】:
标签: objective-c ios5 uitoolbar
如果有人能解释如何通过单击来显示/隐藏 UItoolbar 和/或 UINavigationBar,我将不胜感激。例如,就像在全屏图片库中一样。我想在工具栏上实现带有控件的图像库,通过在图像上点击一次来解除/显示该控件。
【问题讨论】:
标签: objective-c ios5 uitoolbar
我会在你想要点击的视图中添加一个 UIGestureRecognizer。
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTap)];
[self.view addGestureRecognizer:tap];
- (void)didTap
{
[self.navigationController setNavigationBarHidden:YES animated:YES];
//Or if you aren't using a nav controller just someToolbar.hidden = YES;
}
【讨论】:
您可以使用 UINavigationBar 或 UIToolbar(即使它们本身,而不是在 uinavcontroller 中)执行此操作的一种方法是将自定义类属性设置为 UIImageView(在 IB 中检查“按钮”)并使用 Touch Down 事件来运行代码(或用触摸事件覆盖一个与图像大小相同的透明按钮):
myNavBar.hidden = YES;
myToolbar.hidden = NO;
//etc.
祝你好运!
【讨论】:
如果您使用 UINavigationController 的内置工具栏支持,您只需将控制器的“hidesBarsOnTap”设置为 true 并让 api 处理它。
self.navigationController?.hidesBarsOnTap = true
UINavigationController Reference - Hiding the Navigation Bar
【讨论】:
导航栏真的很简单:[self.navigationController setNavigationBarHidden:YES animated:YES];
您可以制作动画的 UIToolbar。
【讨论】: