问题标签 [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.

0 投票
1 回答
1105 浏览

ios - 尝试为 UIMenuController 调用 becomeFirstResponder 时出错

我有一个信使,所以我想在单元格长按时显示 UIMenuController。 在此处输入图像描述 我需要图像视图来捕捉长按,因为我有文本和媒体消息。becomeFirstResponder但是在 iOS 8 上收到长按手势后,我收到了一个崩溃电话(iOS 7 运行良好):

*** Terminating app due to uncaught exception 'UIViewControllerHierarchyInconsistency', reason: 'child view controller:<UICompatibilityInputViewController: 0x13fd75b90> should have parent view controller:<FriendPlay.WLDialogViewController: 0x13fd54d10> but requested parent is:<UIInputWindowController: 0x140815000>'

这是代码的一部分:

对于类MessageImageView(继承自 UIImageView),我重新定义becomeFirstResponder为始终返回true。我初始化我的单元格- (id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier messageMaxWidth:(CGFloat)messageMaxWidth

请给我一些建议,如何解决这个奇怪的错误。

0 投票
1 回答
2398 浏览

xcode - UITableView 重新出现后,UISearchBar 无法成为第一响应者

我有一个适用于 iOS8 的 iPhone 应用程序。UIPageViewController 有一个 UITableViewController 的子视图,这就是我放置 UISearchController 的地方。

当 UITableViewController 第一次出现时,我可以通过以下方式激活搜索

但是,一旦视图控制器通过推送到另一个表视图控制器或模态呈现 UIViewController(视觉上屏蔽它)变得不可见,searchBar 在重新出现后就不能再成为第一响应者。

搜索本身可以通过

但是,没有插入符号以这种方式闪烁(用户必须在 searchBar 内点击才能开始输入)。

我有几乎相同的 UITableViewController 和 UISearchController 没有事件。所以,我一定是遗漏了一些东西,但我想请你对我在解决这个问题时应该注意哪个方向提出意见。

下面是我如何设置搜索控制器。

0 投票
1 回答
192 浏览

ios - 如何正确地将 UITextField 设为第一响应者?(尝试了3种方法)

这是设置:

SNController是一个NSObject,它有内部:

  1. 界面视图
  2. UITextField
  3. UISegmentedControl
  4. UIL标签
  5. 用户界面按钮

该视图与ViewController中的视图相同。

当时可以看到一个。当UITextField可见(alpha = 1.0)时,所有其他的都是不可见的(alpha = 0.0)。

(1)我执行动画,我想要文本字段:

在动画发生时成为第一响应者:

不幸的是,它不起作用。

我已经记录了文本字段,它显示它不能成为第一响应者,我不知道为什么......

我已经尝试了另外两种方法,但到目前为止都没有奏效:

(2) 一种从SNController与ViewController通信的复杂方式:

SNController.h/.m内部:

ViewController.m内部:

(3) 我还从SNController内部尝试了这些方法:

它只是不会放弃,无论如何它都不会成为第一响应者。

有任何想法吗?

0 投票
1 回答
788 浏览

ios8 - 如何在键盘应用程序扩展中处理 UITextField

我在自定义键盘上添加了文本字段 (keyboardTextField) 和 UISwitch。我可以根据我的代码的 Switch 值将 (keyboardTextField) 的焦点设置为ONOFF

因此,当我的自定义键盘在我的设备的每个应用程序中启动它的工作时,现在第一次发生了什么,但是在将 Switch 值更改为On然后关闭之后,我无法选择主应用程序的输入视图,现在我的自定义键盘不能在我设备的任何应用程序中写任何东西。

这类问题已经在这里这里提出过,但还没有人回答。如果有人有任何解决方法或任何想法,请分享。

0 投票
2 回答
617 浏览

ios - becomeFirstResponder 重置其他视图的 x/y 位置

我在两个 UITextFields 上做一些动画。当一个文本字段完成编辑时,我使用UIView.animateWithDuration动画左侧的第一个文本字段,另一个调用来UIView.animateWithDuration显示第二个文本字段进行编辑。

问题是,当我调用becomeFirstResponder()第二个文本字段时,它会还原第一个 ui 文本字段上的新 x/y 坐标。

这是怎么回事?

编辑

提供的代码

0 投票
2 回答
480 浏览

ios - UITextField 辞职 firstResponder 太早了

我有两个 UITextField 实例。第returnKeyType一个文本字段的 是UIReturnKeyNextreturnKeyType第二个文本字段是UIReturnKeyDone。基于这个 SO answer,我正在尝试在单击“下一步”按钮时辞去第一个文本字段的第一响应者,然后让第二个文本字段成为第一响应者。当在第二个文本字段上单击“完成”按钮时,第一响应者辞职,键盘消失。

下面是我的代码:

单击“下一步”按钮时,第一个文本字段成功退出第一响应者,第二个文本字段确实成为新的第一响应者。但是,在单击“完成”按钮之前,第二个文本字段似乎立即放弃了它的第一响应者状态。

谁能告诉我为什么第二个文本字段在单击“完成”按钮之前退出它的第一响应者状态?谢谢!

编辑我已将问题缩小到以下代码行:

当它被注释掉时,文本字段返回按钮操作按预期运行。

0 投票
1 回答
820 浏览

ios - UITextView becomeFirstResponder 使用 iOS SDK 8.2 失败

我试图让 Textview 成为FirstResponder但它失败了。使用iOS SDK 7的相同代码可以正常工作不知道iOS SDK 8.2 有什么问题。

我也在查canBecomeFirstResponder。它为此传递 true 但失败并返回NObecomeFirstResponder在这里,我在 viewWillAppear 方法上执行此操作,并在 viewDidAppear 方法中进行了尝试。

代码

我也发现其他人有同样的问题,他们建议使用如下。但在我的情况下也不能改变延迟时间。

如果我需要根据新的 iOS SDK 版本更改任何内容,请提出建议。

0 投票
1 回答
573 浏览

ios - 强制 UITextView 光标到视图顶部

我有一个 UITableView,其中包含一系列文本输入字段,可以是 UITextField 或 UITextView 控件。选择文本输入字段时,键盘的“下一个”按钮用于循环浏览字段。这一切都正常工作,除了一件事。当 UITextView(多行)通过调用 becomeFirstResponder 获得焦点时,光标位于视图的第二行,而不是第一行。这似乎是解决该问题的最常见建议,但在我的情况下不起作用。有什么建议么?谢谢!

也试过这个没有成功:

0 投票
0 回答
106 浏览

ios - ios7当我呈现一个包含搜索栏的视图,然后我将它设置为FirstResponder,它会出现一个奇怪的动物,我不想要它

在ios7下,当我呈现(不要推送)一个包含搜索栏的viewController,然后设置占位符以查看动物,然后我将其设置为FirstResponder,它会出现一个动物,我不想要它。

代码:

这不会出现在 ios 8 中,只是在 ios7 中。为什么?以及如何解除它?

0 投票
2 回答
622 浏览

swift - 以编程方式将光标放置在自定义 tableView 标题的 textField 中

您如何以编程方式确保 tableView-HeaderView-TextField 的光标处于活动状态(即是第一响应者)?

我的表看起来像这样(即带有自定义 TextField 标题)。到目前为止,光标只能通过在文本字段内单击而进入灰色标题字段。但我希望能够以编程方式将光标移到文本字段中......

在此处输入图像描述

我的自定义 tableview-header 的代码如下所示:

我的第一种方法是像这样设置 headerViewForSection 的第一响应者(参见代码):

不知道为什么这不起作用。也许,Section-Nr (Int=1) 是错误的。但我尝试了几个部分编号。没有光标在它应该在的地方。

任何帮助表示赞赏!