我对 iOS 开发很陌生,我刚刚创建了我的第一个应用程序,在我的 .xib 文件中我有一个 UINavigationBar
当用户点击屏幕的一部分时(例如在照片应用程序中),我想隐藏/显示。我在网上找到了一些片段,但我不知道在哪里以及如何使用它们。
如果有人能给我有关如何执行此操作的详细信息,我将不胜感激。
最佳答案
在 UIViewController 中的任何位置添加此切换方法。这在第一次点击时隐藏并在第二次点击时再次显示。
- (void)toggleNavBar:(UITapGestureRecognizer *)gesture {
BOOL barsHidden = self.navigationController.navigationBar.hidden;
[self.navigationController setNavigationBarHidden:!barsHidden animated:YES];
}
如果没有导航 Controller ,则将导航栏与 IBOutlet 链接并替换为
- (void)toggleNavBar:(UITapGestureRecognizer *)gesture {
BOOL barsHidden = self.navBar.hidden;
self.navBar.hidden = !barsHidden;
}
然后在方法
-(void)viewDidLoad {}
中添加以下内容UITapGestureRecognizer *gesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(toggleNavBar:)];
[self.view addGestureRecognizer:gesture];
[gesture release];
如果要点击的 View 是 UIWebViewController,则必须将协议(protocol)添加到 View Controller 并将其设置为委托(delegate)
gesture.delegate = self;
然后添加以下内容:- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
这是必需的,因为 UIWebViewController 已经实现了自己的手势识别器。
关于xcode - 点击屏幕时隐藏/取消隐藏 UINavigationbar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8202852/