触摸 contentview 后辞职第一响应者

Posted

技术标签:

【中文标题】触摸 contentview 后辞职第一响应者【英文标题】:Resign first responder after touch on contentview 【发布时间】:2014-07-28 17:12:58 【问题描述】:

这是我的设置: 我在屏幕底部有一个包含一个小视图的视图,其中包含一个文本字段。我添加了一些逻辑,以便在选择文本框后立即向上移动整个视图(包括小视图),并在文本框消失后立即向下移动。

我还为整个事情添加了一个手势识别器,一旦用户点击其他地方,就会让第一响应者辞职。

之后,我为所有这些添加了一个 ContentView,它又引用了一个 tableviewcontroller。它看起来不错:后面有一个表格视图,底部视图中的文本字段,一旦我点击文本字段,所有内容都会按预期上下移动。

但是,手势识别器无法正常工作。它检测到对包含文本字段的小视图的触摸,但不在 tableview 上。 我已经尝试将手势识别器添加到表格视图中,但它似乎没有任何区别 - 手势未被识别。我还尝试在 ContentView 之上添加另一个视图 - 它有效,但它没有将事件传递给下面的 tableview。

我已经使用情节提要创建了视图,并添加了代码以编程方式移动视图。

【问题讨论】:

哪个手势识别器?它很可能与表格视图所具有的冲突。 点击识别器不工作。如何检查它是否与表格视图中的冲突? 【参考方案1】:

手势识别器工作正常,请确保它不会与其他事件处理程序发生冲突。您可以在处理事件的方法中设置断点,以确保它确实处理了您希望的那些事件。 作为替代方案,在表格视图前面放置一个空白视图并附加手势识别器。 :)

【讨论】:

我尝试了替代方法,但我无法将所有其他事件(例如滑动)传递到下面的表格视图。此外,断点显示点击手势识别器根本无法识别表格视图上的点击。【参考方案2】:

我使用 [此处] 提供的答案解决了这个问题。如果没有额外的代码,我无法使用情节提要手势识别器来解决它。1

【讨论】:

以上是关于触摸 contentview 后辞职第一响应者的主要内容,如果未能解决你的问题,请参考以下文章

完成后辞职 NSSearchField 的第一响应者的干净方法?

UITextField辞职第一响应者后如何更改UIScrollView contentSize

iPhone-在 UITextField 上辞职第一响应者后,无法重新聚焦

辞职第一响应者 UITextfield

从单独的班级辞职第一响应者

刷新键盘而不辞职并成为第一响应者