【问题标题】:Disable the touch of a hidden navigation bar禁用隐藏导航栏的触摸
【发布时间】:2013-09-05 08:40:20
【问题描述】:

我有一个导航栏和我的视图。

我设置了我的视图框架:

[myView setFrame: CGRectMake (0, -44, W, H)];

所以,我的视图位于导航栏下方(此导航栏是半透明的)。

一切正常。

在某些情况下,我必须隐藏导航栏并在我的视图上应用手势(点击)。

self.navigationcontroller.navigationbar.hidden = YES;

当导航栏被隐藏时,我似乎无法在导航栏区域中截获对我的视图的触摸(尽管这是隐藏的并且看不到)。

我怎样才能避免这种情况?

【问题讨论】:

  • 你试过[self.navigationcontroller.navigationbar setUserInteractionEnabled:NO]吗?不要忘记在它可见时重新启用它。
  • 你试过了吗? self.navigationController.navigationBar.userInteractionEnabled = NO;
  • 我试过了,还是不行..
  • 对我来说 - self.navigationController?.navigationBar.isUserInteractionEnabled = false in viewDidLoad 正在工作

标签: ios uiview uikit uinavigationbar uigesturerecognizer


【解决方案1】:

在导航控制器中,顶部有一个Navigation View,用于放置 ViewController 的视图。 通过将 ViewController 视图的 Y 轴移动导航栏的高度,您无法移动底层导航视图。

这不是实现它的方法。导航控制器没有引用 NavigationView 的属性,因此我们无法移动它。

在我看来,你唯一能做的就是创建一个自定义 NavigationViewController,这很困难,但肯定不是不可能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多