gpt4 book ai didi

xcode - 点击屏幕时隐藏/取消隐藏 UINavigationbar

转载 作者:行者123 更新时间:2023-12-03 18:16:41 24 4
gpt4 key购买 nike

我对 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com