首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在UINavigationController中隐藏导航栏时无法向后滑动

在UINavigationController中隐藏导航栏时无法向后滑动
EN

Stack Overflow用户
提问于 2014-07-12 14:21:22
回答 16查看 46.8K关注 0票数 96

我喜欢它的swipe包,它继承于在UINavigationController中嵌入你的视图。不幸的是,我似乎找不到一种方法来隐藏NavigationBar,但仍然可以让触摸屏向后刷回gesture。我可以编写自定义手势,但我不喜欢这样做,而是依赖于UINavigationController back swipe gesture

如果我在情节提要中取消选中它,则向后滑动不起作用

或者,如果我以编程方式隐藏它,同样的情况。

代码语言:javascript
复制
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self.navigationController setNavigationBarHidden:YES animated:NO]; // and animated:YES
}

有没有办法隐藏顶部的NavigationBar,而仍然有刷卡?

EN

回答 16

Stack Overflow用户

回答已采纳

发布于 2014-07-17 23:05:27

一种有效的方法是将UINavigationControllerinteractivePopGestureRecognizer委托设置为nil

代码语言:javascript
复制
[self.navigationController.interactivePopGestureRecognizer setDelegate:nil];

但在某些情况下,它可能会产生奇怪的效果。

票数 104
EN

Stack Overflow用户

发布于 2015-03-08 04:00:58

在我的例子中,为了防止奇怪的效果

根视图控制器

代码语言:javascript
复制
override func viewDidLoad() {
    super.viewDidLoad()

    // Enable swipe back when no navigation bar
    navigationController?.interactivePopGestureRecognizer?.delegate = self
}

// UIGestureRecognizerDelegate
func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
    if let navVc = navigationController {
      return navVc.viewControllers.count > 1
    }
    return false
}
票数 60
EN

Stack Overflow用户

发布于 2015-07-13 22:43:16

您可以按如下方式创建UINavigationController的子类:

代码语言:javascript
复制
@interface CustomNavigationController : UINavigationController<UIGestureRecognizerDelegate>

@end

实施:

代码语言:javascript
复制
@implementation CustomNavigationController

- (void)setNavigationBarHidden:(BOOL)hidden animated:(BOOL)animated {
    [super setNavigationBarHidden:hidden animated:animated];
    self.interactivePopGestureRecognizer.delegate = self;
}

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
    if (self.viewControllers.count > 1) {
        return YES;
    }
    return NO;
}

@end
票数 16
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24710258

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档