问题标签 [first-responder]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2431 浏览

ios - 跟踪 firstResponder 对象

我需要跟踪哪个文本字段是我的自定义键盘工作的 firstResponder。在下面的代码中,我严重简化了我的程序,但这里是问题的要点:

如果我删除将 firstResponder 设置为 nil 的行,代码将停止正常运行,但我不知道为什么。(没有那条线,我可以选择第一个 textView 来调出键盘,但在那之后我永远无法把键盘带回来。有什么想法吗?谢谢!

0 投票
1 回答
465 浏览

objective-c - 使用 firstResponder 关闭键盘

要关闭键盘,我使用以下任一方法:

问题是,我有一种情况,用户选择一个文本字段,而其他一些文本字段是显示键盘的第一响应者。我想在选择此特定文本字段时关闭键盘。所以这些都不能解除键盘。

如果我不知道谁是第一响应者,如何关闭键盘?

0 投票
2 回答
277 浏览

iphone - 响应者到底是什么意思?

通常我们使用 resignFirstResponder 来隐藏 iphone 应用程序中的键盘。例如,当我们使用 UISearchBar 时,用户点击搜索按钮后,我们通过实现 searchBarSearchButtonClicked 函数来隐藏键盘,如下所示:

我们将 searchBar 设置为第一响应者,那么在用户点击搜索按钮后键盘将被隐藏。

为什么它会这样工作?我们没有调用任何隐藏键盘的函数,只是将searchBar设置为第一响应者,为什么系统只是自动隐藏键盘?

谁能解释这个过程的机制?

非常感谢你!

0 投票
3 回答
1029 浏览

cocoa - NSTextView 覆盖导致第一响应者状态异常

我有一个NSTextViewNSScrollView我正在以编程方式插入一个NSView子类作为NSTextView. 这NSView充当叠加层,叠加有关其下方文本的图形信息。

我认为它工作得很好,直到我注意到文本视图不响应右键单击。其他操作(编辑、选择)似乎工作得很好。

此外,如果第一响应者更改为滚动视图的同级(例如大纲视图),则文本视图不会通过单击它重新获得第一响应者状态。选择会随着点击而改变,但选择高亮是灰色而不是蓝色(表明文本视图不是第一响应者)。

如果我偏移覆盖子视图的框架,文本视图在没有被覆盖层重叠的区域中的行为正常为 100%,但重叠区域的行为不正确,如上所述。

在 Mac OS X 10.6.4 上复制此行为的步骤:

  1. 创建一个普通的旧的非基于文档的 Cocoa 应用程序。
  2. 将“NSTextView”IBOutlet 添加到应用委托.h。
  3. NSTextView在 MainMenu.xib 的窗口中添加一个。连接 textView 插座。
  4. 输入一段代码:

applicationDidFinishLaunching:

运行应用程序,观察文本区域中的右键单击无法正常工作,但您仍然可以与文本视图交互。

接下来,在 xib 中的窗口中添加一个 NSOutlineView。请注意,一旦焦点离开文本区域(如果单击大纲视图)并覆盖到位,您就无法将焦点设置回文本视图(它不会再次成为第一响应者)。


NSTextView即使我的NSView覆盖不接受第一响应者或鼠标事件,有什么方法可以让我接收所有事件?我怀疑这可能与字段编辑器有关——也许它忽略了它认为注定要发送到覆盖视图的事件?

0 投票
3 回答
2951 浏览

iphone - iOS——是否可以强制 UILabel 子类对象成为第一响应者?

有没有办法做到这一点?

我尝试将以下内容放入子类中:

但是当我向对象发送 becomeFirstResponder 消息时,它仍然没有成为第一响应者。

0 投票
1 回答
253 浏览

iphone - 删除 UIView

所以我有一个MainViewController用一个按钮调用的视图控制器,当我按下这个代码时,它被调用:

这带来了新的视图,效果很好。但是,如何从其中的按钮中删除此视图?在我不久前编写的一个应用程序中,我只是在MainViewController调用中RemoveView和在 XIB 文件中为NewViewController我选择FirstResponder然后RemoveView为按钮创建了一个方法。这行得通,但我无法在我的新项目中复制它,也不太明白它是如何工作的!

这不是我正在寻找的删除视图代码,更多的是获取从另一个类调用的方法的方式。

如果有人可以帮助我,那就太好了!:)

谢谢

0 投票
1 回答
1775 浏览

iphone - becomeFirstResponder 不隐藏键盘

我有一个支持复制并使用以下代码显示编辑菜单的视图:

问题是,当 becomeFirstResponder 被调用时,键盘被隐藏了。正确行为的一个很好的例子是在 SMS 应用程序中。在回复框可见且回复框失去焦点时双击消息,但键盘保持在原位。此外,当取消选择气泡时,回复框会重新获得焦点。

0 投票
1 回答
421 浏览

objective-c - 没有 UIControls 响应用户事件

我在不使用 Interface Builder 的情况下创建了一个 iOS 应用程序,我似乎遗漏了一些重要的东西,即我正在创建的控件(UITextFieldUIButton等)没有响应触摸事件。

这是我的视图层次结构:

我能够创建上述层次结构,并且屏幕上的所有内容都显示得很好,但是点击UITextFieldUIButton什么都不做。我还尝试将一些UIGestureRecognizer子类实例添加UIView到无济于事。

我可以调用becomeFirstResponder并且UITextField应用程序从键盘启动并能够接收输入。但是,当键盘关闭时,界面会返回其“死”模式。

我错过了什么?

0 投票
3 回答
3195 浏览

iphone - 如何访问 searchBar 的明文按钮?

当我点击 tableView 搜索上的“清除”按钮(编辑时出现的那个)时,我试图让键盘消失。如何检测何时单击“清除”按钮,以便我可以辞职 firstResponder?我已经在textDidChange方法中尝试过这个:

这没有用......并且还尝试过:

两种方法都没有显示它们被调用。有任何想法吗?

编辑:现在 resignFirstResponder 似乎没有工作。键盘停留在屏幕上。我做错了什么?

0 投票
1 回答
3110 浏览

cocoa - 让 WebView 的行为与 Safari 完全一样

(编辑以更好地描述我给出的答案)

我在 InterfaceBuilder 中创建了一个非常简单的浏览器,由一个导航栏和一个 webview 组成。

一切正常,除了当我尝试在输入字段之间切换是 web 视图时,焦点转到导航栏。

我假设我需要对响应者链做一些事情,但我无法弄清楚是什么。

有什么建议吗?

谢谢,凯利