加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 18:59:33 所属栏目:百科 来源:网络整理
导读:我是iOS开发的新手,我刚刚创建了我的第一个应用程序之一,在我的.xib文件中,我有一个UINavigationBar,我希望隐藏/显示当用户点击屏幕的一部分时(比如照片应用程序).我在网上找到了一些片段,但我不知道在哪里以及如何使用它们. 如果有人能给我详细的信息,我会
我是iOS开发的新手,我刚刚创建了我的第一个应用程序之一,在我的.xib文件中,我有一个UINavigationBar,我希望隐藏/显示当用户点击屏幕的一部分时(比如照片应用程序).我在网上找到了一些片段,但我不知道在哪里以及如何使用它们.

如果有人能给我详细的信息,我会非常感激.

解决方法

在UIViewController中的任何位置添加此toggle方法.这隐藏在第一次点击并在第二次点击时再次显示.

- (void)toggleNavBar:(UITapGestureRecognizer *)gesture {
    BOOL barsHidden = self.navigationController.navigationBar.hidden;
    [self.navigationController setNavigationBarHidden:!barsHidden animated:YES];
}

如果没有导航控制器,请将导航栏与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];

如果您要点击的视图是UIWebViewController,则必须将协议添加到视图控制器并将其设置为delegate gesture.delegate = self;然后添加以下内容:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer 
shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
    return YES;
}

这是必需的,因为UIWebViewController已经实现了自己的手势识别器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读