【发布时间】:2018-01-23 04:47:13
【问题描述】:
我需要在导航栏或视图上添加点按手势。 我得到了以下解决方案,效果很好。
但是removeGestureRecognizer 并没有移除手势,而是破坏了其他视图控制器中其他后退按钮的功能。
如何解决这个问题?
var taskTodoOnBar : UITapGestureRecognizer!
override func viewWillAppear(animated: Bool)
{
navigationController?.view.addGestureRecognizer(taskTodoOnBar)
}
override func viewWillDisappear(animated: Bool)
{
navigationController?.view.removeGestureRecognizer(taskTodoOnBar)
}
或者
override func viewWillAppear(animated: Bool)
{
navigationController?.navigationBar.addGestureRecognizer(taskTodoOnBar)
}
override func viewWillDisappear(animated: Bool)
{
navigationController?.navigationBar.removeGestureRecognizer(taskTodoOnBar)
}
当我尝试获取手势识别器计数时,它显示为零。那么在哪里添加手势呢?
override func viewWillDisappear(animated: Bool)
{
print(navigationController!.view.gestureRecognizers!.count)
print(navigationController!.navigationBar.gestureRecognizers!.count)
}
【问题讨论】:
-
嗨 Sujay,您是否尝试过从视图中列出手势数组,例如 navigationController?.navigationBar.gestureRecognizers 以检查数组是否正常?
-
navigationBar.gestureRecognizers 计数为零。已添加相同的问题。
标签: ios swift navigation uigesturerecognizer gesture