问题标签 [becomefirstresponder]
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.
iphone - iOS UITextField 自定义键盘
我的应用程序上有一个自定义键盘视图,位于屏幕底部,它基于 Fabrizio Prosperi 的 FPNumberPadView。
我也有几个 UITextFields,我希望这个键盘总是在屏幕上,无论文本字段是否有焦点。
这是有效的,但是,无论我最初在屏幕上分配给键盘的位置如何,只要我点击第一个文本字段(并成为第一响应者),它就会消失并立即像常规系统键盘一样滑入屏幕将。
这就是我想要摆脱的。我希望从一开始就将键盘放在底部,当我点击文本字段时,他们会从这个自定义键盘接收字符。
有关如何完成此操作的任何提示/链接/帮助?
提前致谢
ios - iOS 的演示叠加层
当我向远程团队演示我的触摸应用程序时,另一端的人不知道我在触摸哪里。为了解决这个问题,我一直在研究一个事件拦截视图/窗口,它可以显示对应用程序的触摸。无论我调用 nextResponder 的变化有多大,我都无法对触摸做出反应并将其传递给下面的控制器。特别是滚动视图不会做出反应,按钮也不会。
有没有办法获取一个事件,获取它的位置,然后将它传递给最初会响应它的组件(下面的控制器)?
更新:
我在 UIView 方面取得了一些进展。新视图总是返回 NO 到 pointInside。这适用于触摸开始时,但它不跟踪移动或释放。是否有向触摸添加手势识别器以跟踪其事件生命周期的策略?
乔
ios - iOS 6 中不同的 UITextField 键盘解除行为
我有一些简单的代码,通过依次在每个字段上调用“becomeFirstResponder”来移动 UITextFields 之间的“firstResponder”。
在 iOS 5 中,键盘一直显示,直到显示 resignFirstResponder 的最终文本字段。
但是,在 iOS 6 中,每次移动第一响应者时,键盘都会执行关闭和重新出现动画。在调用 becomeFirstResponder 以移动响应者(或在任何相关方法中)时,我绝不会调用 resignFirstResponder - 这似乎是 iOS 6 中的新默认行为。
这是令人分心的,也是不受欢迎的。
我查看了 Apple 文档,找不到任何关于如何管理键盘动画的更改。
任何人都可以向我推荐这些更改的文档吗?谢谢。
iphone - 当 UITextField 成为FirstResponder 时得到通知
我怎样才能得到通知UITextField
becomeFirstResponder
?
我可以通过以下方式查看喜欢isFirstResponder
或设置成为第一响应者becomeFirstResponder
当用户将此文本字段设为第一响应者时,我想得到通知或处理事件。
谢谢。
ios - UITextfield becomeFirstResponder 返回 NO
我已经在我的应用程序中的 UITextFields 上实现了标准的“下一个”功能(按下一个会将您移动到下一个适当的文本字段)。大多数情况下,这很有效,并且会移动到适当的文本字段没有问题。但是在某些情况下,由于某种原因,当我要求它成为第一响应者时,textField 会返回 NO,我不知道为什么。
有关文本字段/视图的一些信息:
该视图有多个 UITableViews,其中一些 UITableViewCells 具有我想成为其中的第一响应者的 UITextfields,其他人则没有。创建表后,我会遍历主视图子视图以查找所有第一响应者并将它们添加到第一响应者数组中(_firstResponders - 变量名)。当需要下一个响应者时,每个单元格都通过委托回调到主视图。
下面是我用来获取下一个响应者的代码:
如您所见,我检查了它是否可以成为代码中的第一响应者,并且我还检查了是否手动启用了文本字段(我还在将响应者添加到响应者数组时检查了这一点)。还值得一提的是,我已经检查了数组大小和发生这种情况时要设置的响应者,它们是正确/有效的。
对我来说最奇怪的部分是,如果我在设置新的响应者之前没有在当前的响应者上调用 resignFirstResponder ,我之前只看到过这个。
有谁知道它返回 NO/我如何解决这个问题的原因?
提前致谢!
ios - UIKeyboard 下一个按钮不会转到下一个 UITextField
我一直在试图弄清楚如何让 UIKeyboard 上的下一个按钮加载下一个 UITextField。我有两个单元格,名称和电子邮件我想使用下一个按钮从名称转到电子邮件。
到目前为止,我已经添加
然后我这样做是为了尝试将用户从名称传递到电子邮件
它进入第一个 if 语句,然后它使用 resignFirstResponder 从屏幕上删除键盘,但随后它不使用 becomeFirstResponder 加载新键盘。任何解决此问题的帮助将不胜感激。
ios - 调用 becomeFirstResponder 时未显示光标
我有一个包含每个单元格中的文本字段的表格视图,当用户更改值时,比如说,textfield1
然后单击textfield2
,我在方法中重新加载数据- (void)textFieldDidEndEditing:(UITextField *)textField
,因为它正在更改表格视图中的行数,但textfield2
光标不可见,仅在第二次单击时它显示光标。我知道问题是重新加载 tableview,因为当我评论reloadData
方法调用时,文本字段工作正常。我尝试保存标签textfield2
并在 tableview 完成重新加载后我调用becomeFirstResponder
了消息,textfield2
但它仍然没有显示光标。谁能知道我该如何解决这个问题?
提前致谢!
编辑:调用becomeFirstResponder
工作didEndDisplayingCell
正常,但此 API 仅在 iOS6.0 中可用,不少于此。我尝试使用willDisplayCell
,但这也不起作用,所以任何人都可以告诉,iOS5.0 中是否有其他可用的替代方法,或者还有其他方法可以处理这个问题吗?
ios - 当 UISearchBar 的第一个响应者更改控制器时将文本设置为很奇怪
在我的应用程序中,我UITextField
看到了 VC1( UIViewController
)。当我更改文本字段中的文本时,我UISearchBar
在其视图中调用另一个控制器 VC2 的推送。推送即时消息后,将UISearchBar
文本分配给 VC1 的文本字段文本。
在 xib 我的文本字段已经有一些文本“测试字符串”。
当我在 VC1 文本字段中附加任何字符时 - VC2 推送和搜索栏上的文本是正常的。
但是当我在 iPhone 键盘上按下退格键时 - VC2 被按下并且搜索字段上的文本开始逐个删除字符,而整个字符串没有被清空。它发生是因为委托方法递归调用。
如何解决这种行为UISearchBar
?当 VC2 出现时,我必须在打开键盘的情况下激活搜索栏!是主要条件。当然,如果我将[self.searchBar becomeFirstResponder]
全部删除将正常工作。
这里有一些代码:
问题示例源码:http: //yadi.sk/d/NJmTLot73_vrE
objective-c - 在新的 UITextField 上使用 becomeFirstResponder
我正在尝试以编程方式将焦点设置在我使用 becomeFirstResponder 创建的新 UITextField 上。还有其他方法吗?
ios - iOS UITextField 不能多次成为FirstResponder
我有一个UITableView
with 部分,当您点击一个部分时,该部分会展开并且有可供选择的选项,或者您可以通过UITextField
其中一个中的a 插入您自己的选项UITableViewCells
。对于那个单元格,我有这段代码tableView: cellForRowAtIndexPath:
来配置自定义单元格并设置第一响应者。
数据字段是UITextField
. 我保存UITextField
在 self.dataTextField 中,以便resignFirstResponder
以后可以。
第一次DataAddTVCell
从我的部分加载和扩展时,它工作正常并成为第一响应者。辞去第一响应者的职务也有效。但是,当另一个部分展开时再次加载单元格时,它不会成为第一响应者。如果我点击textField
,键盘显示正常,我可以像以前一样让第一响应者辞职。不知道为什么 textField 只能成为第一响应者一次。我也有这些委托方法并设置了 < UITextFieldDelegate
>
我怀疑这是因为我正在使用dequeueReusableCellWithIdentifier
. 有没有办法让它在使用它时工作?或者,如果我希望它在显示时始终成为第一响应者,我是否每次都必须创建一个新单元格?不过,总是创建这么多细胞似乎很糟糕。