Tag: 成为

UITextfield becomeFirstResponder返回NO

我已经在我的应用程序中实现了UITextFields上的标准“下一个”function(按下一步将移动到下一个适当的文本字段)。 大多数情况下,这种方式运行良好,并将转移到适当的文本框没有问题。 但是由于某些原因,textField在我要求它成为第一响应者的时候会返回NO,我不知道为什么。 关于textfields / view的一些信息: 该视图有多个UITableViews,其中一些UITableViewCells有UITextfields我想成为他们的第一响应者,其他人不。 创build表时,我通过主视图子视图循环查找所有第一响应者,并将其添加到第一响应者数组(_firstResponders – variables名)。 当需要下一个响应者时,每个单元通过一个委托callback到主视图。 以下是我用来获得下一个响应者的代码: //get the current first responders index NSInteger currentIndex = [_firstResponders indexOfObject:currentResponder]; // if the current index plus 1 is less than the overall count of first responders on this view then continue, else resign the responder as no more are avilable if((currentIndex+1) < […]

当以编程方式将UITextField设置为FirstResponder时,会在文本编辑上造成一些奇怪的操作

我有一个自定义键盘的UITextField,基本上就像一个计算器。 我想我的键盘默认显示,所以我用[self.topInputTextField becomeFirstResponder]; 在viewDidLoad ,我认为这是非常常见的用法。 但是,它会在我的文本框中导致一些非常奇怪的操作。 当我将我的文本字段设置为viewDidLoad中的第一个响应者时,每次完成编辑之后,文本都会跳转,而当我单击另一个文本字段并再次单击第一个文本字段时,第一个文本字段中的文本有时会发生移位下来,消失,但有时不。 我感觉这很难描述,所以我为它logging了一个GIF图像。 原因,我相信[self.topInputTextField becomeFirstResponder]; 造成这个问题,就是当我评论那行代码的时候,一切都恢复正常了。 这里是我注释掉该行后的GIF: 这对我来说很奇怪,在2个GIF文件之间,我做的唯一的改变是注释掉那行代码。 我在SE上找不到任何解决scheme。 任何想法将非常感激。 编辑:另外一件事是我试图改变字体和字体大小,他们都有类似的奇怪的行为。 *编辑2:**这里是我如何设置我的文本字段,我没有做任何幻想

Swift:成为UITextField的第一响应者无法正常工作?

我已经创build了一个自定义UIViewController在故事板上的一个UITextField。 在viewDidLoad ,我将UITextFIeld设置为becomeFirstResponder ,什么都没有发生(没有键盘popup)。 然后我尝试调用resignFirstResponder() ,但它返回false。 接下来,我试图通过使用@上的代码循环所有子视图来find第first responder是谁, 而不使用私有API获取当前的第一响应者 。 事实certificate,没有任何子视图是第一响应者。 我的ViewController在故事板 我的代码 class BLTestViewController: UIViewController, UITextFieldDelegate { @IBOutlet var tf: UITextField override func viewDidLoad() { super.viewDidLoad() tf.delegate = self tf.becomeFirstResponder() // Do any additional setup after loading the view. } } 尽可能简单…为什么不是键盘开始! 我有一件事是自动布局,但我不知道是否会影响键盘popup。

当UITextField成为Touch ID完成块中的第一个响应者时,不显示iOS键盘(在UIRemoteKeyboardWindow内)

我最近在我的应用程序中发现了一个问题,似乎只发生在iOS 10中,当程序触发一个文本字段成为完成处理程序内的第一响应者时系统键盘不显示 – 具体来说,我从一个Touch ID的尝试。 这个问题的疯狂部分是,即使没有显示键盘,键盘通常会在iPhone上的区域仍然响应触摸input,就好像用户正在键盘上打字一样! 在对这个问题进行了大量的调查和debugging之后,我偶然发现hidden属性在调用becomeFirstResponder之后创build的私有UIRemoteKeyboardWindow上被设置为YES 。 在其他情况下,我popup键盘并输出该hidden属性的值,它被设置为NO 。 有没有人在iOS 10中遇到这个问题? 如果是这样,有人find了解决办法? 我尝试在窗口实例上手动设置hidden值为YES ,但是对它没有影响。 在这一点上,我几乎是在抓秸秆。 附件: 以下是UIApplication实例中窗口的输出,当文本字段成为Touch ID完成处理程序之外的第一个响应者时: 当它成为Touch ID处理程序中的第一个响应者时: 第一次更新 所以我没有考虑到在主线程中becomeFirstResponder完成的第一个becomeFirstResponder ,有些人已经指出了,但不幸的是,这并没有解决问题 – 但是我做了一些额外的发现。 hidden窗口问题似乎源于在发出becomeFirstResponder动作后立即输出UIApplication实例窗口的becomeFirstResponder 。 这样做后,我在UITextField编辑callback设置断点,并继续与键盘(这是不可见的)进行交互 – 当我输出窗口的细节,似乎并没有hidden属性设置为YES (这可能会排除这个问题的原因),但我仍然有一个无形的键盘! 我开始debugging视图层次结构,下面是检查键盘窗口时的样子的截图: 希望你们能看到我在这里发现的钥匙是存在的,但似乎有一些白色的视线挡住了他们的视线。 事情是,我甚至没有看到我的应用程序屏幕上的白色的意见。 我只是看到通常在键盘背后的东西。