0

这个问题最接近描述我的问题,但我在一般过程中遗漏了一些东西,答案最终变成“没关系,我想出了一个没有描述的不同解决方案”。

就我而言,我有一个带有导航栏及其控制器的 XIB。对于类字段,我已经填写了我的自定义类名。这是显示 XIB 的屏幕截图,因为我认为这应该是一个相对简单直接的设置...

导航栏及其控制器。

我想要的(就像开头的链接一样)是触发 touchesEnded 事件,以便我可以做一些事情。这适用于“视图”;我可以以编程方式写入事件,设置断点,然后查看断点是否被命中。但是,我更高级别的目标是在那时将一个新视图推送到应用程序上——这是我不应该在视图功能中做的事情,而且我无论如何也做不到,因为我的视图无权访问导航控制器(除非我做了一些诡计来检索控制器,但我想干净地做到这一点)。

即使它以编程方式为视图工作,touchesEnded 事件也不会被导航视图的控制器击中。我将它设置为委托,如下图所示,我怀疑这可能只是我需要做的一部分。

我设置了导航栏的代表

所以现在我已经设置了委托,并且已经看到 touchesEnded 事件被视图击中,为什么我的导航栏视图控制器没有接收到 touchesEnded 事件?我是不是弄错了,应该弄清楚如何从导航栏的视图中推送一个新视图,因为我已经看到 THAT touchesEnded 事件被击中了?这似乎是我应该在导航栏视图的控制器中处理的事情,但我无法获得该控制器的 touchesEnded 事件命中。

谢谢!

4

2 回答 2

1

从您的帖子中不清楚,但看起来您正在明确地向您的应用程序添加导航栏,这是真的吗?如果您的控制器嵌入在导航控制器中,则无需这样做。您可以将视图添加到导航栏,并将 UIImage 视图添加为子视图。如果您将用户交互设置为开启,并在图像视图中添加轻击手势识别器,您应该能够获得您想要的效果。

于 2013-01-02T20:53:10.227 回答
1

然后你必须重写 UINavigationBar,并重写 becomeFirstResponder,返回 YES。

于 2013-01-02T19:42:14.720 回答