gpt4 book ai didi

ios - 如何检测 navigationController.view 中的触摸?

转载 作者:行者123 更新时间:2023-11-30 12:19:49 24 4
gpt4 key购买 nike

我正在实现这个功能。

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
guard let point = touches.first?.location(in: self.view) else { return }

for i in 0..<paths.count {
if paths[i].contains(point) { addViews(selectedView: i); break }
}
}

我的设计师决定将我添加的 View 的一小部分用于覆盖导航栏。问题是,当我将 View 添加到 navigationController.view 后,我无法再检测到触摸。我尝试过位置(在:self.navigationController.view),但没有用。在我陷入无数可能有效的不同事物的兔子洞之前,有人能给我一个简单的答案吗? navigationBar overlay example

最佳答案

虽然 navigationController 名义上是一个 ViewController,但它的“ View ”导出通常不被使用,并且可能不会放入响应者链中。

我的解决方案是创建一个自定义 View (在 Storyboard中)作为 UIViewController 的 navigationItem.titleView 的导出。

您可以在 viewDidLoad() 中设置自定义 View (而不是 Storyboard)

self.navigationItem.titleView = myCustomView;

在 viewDidLoad 中我设置了一个手势,例如:

UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleStatusTap:)];
[chatTitleView addGestureRecognizer:singleTap];

关于ios - 如何检测 navigationController.view 中的触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44936195/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com