问题标签 [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.
ios - 关闭具有多个文本字段的第一响应者/键盘
在经历了这些之后,就像认真...
...我有多个TextFields
和几个TextViews
。有没有办法为所有文本字段设置批次或组 Dismiss First Responder?我需要为每个字段制作方法吗?也许我忽略了该链接中的某些内容?
也许我可以遵循这样的事情:
后者有意义吗?提前致谢。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-
我想到了....
objective-c - 我们可以更改 nextResponder 吗?
我有一堆搜索框。在搜索框下有表格视图。
如果用户单击表格视图(或搜索框外的任何内容),我希望搜索框失去第一响应者状态。
但是,tableview 没有修饰动作。
所以我在 tableview 后面添加了一个大按钮。希望触摸事件由大按钮处理。
鉴于 table view 完全覆盖了 tableview,这是行不通的。
所以我该怎么做?
iphone - 将 UITextField 的 inputAccessoryView 设置为其父视图
我有一个带有 Add cell... 行的 UITableView,并且希望弹出一个键盘,上面有一个视图,就像在“消息”应用程序中一样,用户可以在其中键入新单元格的名称。
我意识到还有其他几种获取用户数据的方法,以及几种实现我想要实现的功能的方法。
例如,当应创建新的播放列表时,iPod 应用程序会显示一个弹出窗口。
现在,我有一个隐藏的文本字段,当按下 Add cell... 行时,它设置为第一响应者,并且我将包含输入字段和确认按钮的视图分配为该隐藏字段的 inputAccessoryView。或者,我可以将此视图添加为表格的子视图并使用键盘通知定位它。
我只想知道是否有一种更简洁的方法来完成我正在尝试做的事情(例如将要显示的输入 textField 的 inputAccessoryView 设置为 textField 的超级视图)。我尝试了几种方法,但是当视图应该关闭时,我似乎无法使用 resignFirstResponder 关闭键盘。我可以让 inputAccessoryView 消失,但键盘仍然保持打开状态,占用必要的屏幕空间。此外,当 nib 的视图是一个 UITableView 与一个 UITableViewController 作为文件的所有者,而不是一个 UIView 与一个 UIViewController 作为文件的所有者时,我得到一个非常奇怪的错误:“设置表的第一响应者视图,但我们不知道它的类型(单元格/页眉/页脚)”
在此先感谢,朱利安 Ceipek
iphone - iPhone-在 UITextField 上辞职第一响应者后,无法重新聚焦
我有一个用于从远程服务器搜索数据的模式窗口——它有一个 UITextField 作为窗口导航栏的 titleControl,以及一个填充窗口的表格视图(显然显示结果)。现在我想要做的是当用户滚动表格视图时,立即让文本字段失去焦点(辞职第一响应者),以便键盘关闭并且用户有更多空间滚动表格视图(它向下延伸以填补空白通过键盘)。基本上与使用 UISearchDisplayController(或其他任何名称)时的功能相同。
所以我有这个代码来检测tableview的滚动事件:
哪个工作正常。但是,问题在于,一旦用户滚动表格并且文本字段失去焦点,您就无法通过再次点击它来将焦点归还给它。所以基本上,一旦我打电话,[resignFirstResponser]
我就再也无法恢复键盘并编辑文本字段值了。有人知道为什么吗?我是否需要[becomeFirstResponder]
在某处明确调用该字段?因为我认为在点击该字段时会自动处理?
另外值得注意的是-我在[becomeFirstResponder]
第一次调用模态窗口时调用了文本字段,因此该字段是预先聚焦的。这和它有什么关系吗?
如果有人愿意,我可以发布更多代码,但我不认为我在使用文本字段做任何不寻常的事情。
谢谢你的帮助!
objective-c - 即使 UIResponder 对象放弃它的第一响应者状态,键盘也不会关闭
我设法自定义 UIAlertView 将两个 UITextFields 作为子视图放入其中,但这样做时键盘以某种方式坏了。
当我试图解雇它辞去第一响应者时,它什么也不做,只是呆在那里。
这是我的代码,好吧,只有相关部分(这是我放在 UIAlertView 子类中的):
这是我的一大块代码:
objective-c - NSTextField 事件和辞职的第一响应者
我想实现一个 NSTextField,当我单击它时,它会选择所有文本。(为用户提供删除所有当前文本的简单方法)当我完成编辑它时,通过按 enter/tab 或将鼠标移到它的矩形之外,我会将焦点移出该字段,并将它的 alpha 值更改为0.5。
我的代码:
H 文件:
M 文件:
所以,我有几个问题:
1.
当我在 NSTextField 内按下时(当焦点在外面时),它立即变成并辞去第一响应者,我得到编辑结束消息。这是为什么 ?我点击的日志是这样的:
2.
当我按下回车键时,它只会选择里面的所有文本并且不会移动鼠标焦点。当我按下选项卡时,似乎确实移动了焦点,但是两者都不会导致 resignFirstResponder 被调用。为什么 ?
3. 没有一个鼠标事件函数被调用。我需要为此做一些特别的事情吗?我认为既然它们是 NSResponder 的,我会通过从 NSTextField 继承来免费获得它们。我在这里也需要 NSTrackingInfo 吗?
4.
最后但并非最不重要的一点是,由于某种原因,每几个字母,一个字母似乎是粗体。我不知道为什么。
我会很感激任何帮助。谢谢
iphone - 以编程方式确定 VoiceOver 读取 UIView 项目的顺序
我正在使我的 iPhone 应用程序可访问。VoiceOver 非常令人印象深刻。当用户使用 VoiceOver 时,它会自动读出屏幕上的项目,并允许用户双击屏幕上的任意位置来选择该项目。但是,我希望 VoiceOver 以特定顺序读取项目,但它始终以 UINavigationBar 项目开头,包括后退按钮。我不希望这些项目根本不被阅读,我只想从一个特定的项目开始。是否有与“firstResponder”等效的 VoiceOver?
cocoa - 为什么设置 initialFirstResponder 没有效果?
我有一个带有 3 个文本字段的简单表单(NSWindow)。NSWindowinitialFirstResponder
是“指向”第一个字段 ( NSTextField
)。所有三个文本字段都通过 循环链接nextKeyView
。
我遇到的问题是,当我从 Xcode 启动应用程序时,它会专注于应用程序关闭时上次活动(焦点)的文本字段。
例如,如果我将文本字段命名为 A、B 和 C 并initialFirstResponder
设置为 A。现在如果我启动应用程序,将焦点放在 B 上,然后关闭应用程序,下次启动它时,焦点将放在 B 上。
为什么会这样,我将如何解决这个问题?
(对不起,如果这是一个微不足道的问题,这些是我在可可的第一步......)
编辑:
这是在 OS X Lion 10.7.1、Xcode 4.1 上。
编辑2:
我找到了一种“修复”此问题的方法...在主窗口(或任何窗口)XIB/NIB 文件中,单击“属性检查器”,然后取消选中“可恢复”框。现在应用程序将不会存储最后一个位置,因此initialFirstResponder
会尊重并相应地遵循所见。
objective-c - 在 Cocoa Mac OSX 中设置 FirstResponder 的问题
我正在开发一个小应用程序只是为了学习可可,而且我很难将 FirstResponder 设置为一些 NSTextFields。
当视图打开时,我希望选择第一个 NSTextField,clientNumber,所以我在 loadView 方法的末尾触发 [clientNumber becomeFirstResponder],但它没有选择文本字段。但是当我单击触发 (IBAction)addToArray 方法的按钮时,它会选择正确的文本字段。此外,我还有另一个文本字段,它应该只包含整数,所以我有一个粗略的验证。当内容不是 int 时,我会发出哔哔声,就像它应该的那样,但它没有选择文本字段。
这是我的代码:
我真的希望有人可以在这里帮助我。
编辑:
我弄错了,谢谢你的指点,但是当我修复代码时,使用这个:FakturaAppDelegate *appDelegate = (FakturaAppDelegate *)[[NSApplication sharedApplication] delegate]; [appDelegate.window makeFirstResponder:self.invoiceCredit]; 而不是成为FirstResponder。但它仍然不起作用。
objective-c - 了解第一响应者的系统逻辑
我对几个急救人员的观点感到困惑:
- 如果我打电话
- becomeFirstResponder
,系统会– canBecomeFirstResponder
先调用吗?为什么? - 为什么两者都有
- becomeFirstResponder
和– canBecomeFirstResponder
?在什么情况下它们可以返回不同的值? - 应用程序每次都必须有第一响应者吗?如果是这样,当我调用
– resignFirstResponder
某个对象时会发生什么?UIApplication
是立即成为第一响应者,还是在响应者链中的某个点上抛出这个“令牌” ?当我想摆脱那个朝圣者令牌时,我可以调用对象- becomeFirstResponder
吗?UIApplication
- ...
请有人解释一下,系统如何管理其第一响应者。当某个对象成为第一响应者时,幕后发生了什么,当第一响应者辞职时会发生什么。系统调用什么...谢谢!