禁用隐藏导航栏的触摸
Posted
技术标签:
【中文标题】禁用隐藏导航栏的触摸【英文标题】: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 正在工作
【参考方案1】:
在导航控制器中,顶部有一个Navigation View
,用于放置 ViewController 的视图。
通过将 ViewController 视图的 Y 轴移动导航栏的高度,您无法移动底层导航视图。
这不是实现它的方法。导航控制器没有引用 NavigationView 的属性,因此我们无法移动它。
在我看来,你唯一能做的就是创建一个自定义 NavigationViewController,这很困难,但肯定不是不可能。
【讨论】:
以上是关于禁用隐藏导航栏的触摸的主要内容,如果未能解决你的问题,请参考以下文章