问题标签 [uitextinput]

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 回答
280 浏览

ios - UITextInteraction + UIScrollView

我有一个采用 UITextInput 协议的自定义文本输入视图。此视图嵌入在 UIScrollView 中。采用视图的 UITextinput 包括 UITextInteraction。当我将选择句柄拖到当前可见区域的边缘(顶部或底部)时,视图应自动滚动并选择文本(如 UITextView)。有谁知道如何实现这一目标?

我希望 UITextInteraction 可以通过它的委托通知我必要的事件,但它没有(甚至自动处理这个功能)。

我试图拦截最近的Position(指向:CGPoint)-> UITextPosition?,每当用户触摸 UITextInput 采用视图时都会调用它。因此,我可以使用它来跟踪选择手柄的拖动操作。有一次,用户到达视图的顶部,我向上滚动。但是,我无法检测到用户何时松开手柄(触摸结束时)。发生这种情况时,scrollView 应该停止滚动。就我而言,滚动视图一直滚动到顶部。

我还尝试拦截 selectionRects(for range: UITextRange) -> [UITextSelectionRect],但在滚动过程中偶尔会调用它。

我也无法检测到 touchesEnded()。UITextInteraction 似乎阻止了调用。此外,我无法实现自己的平移手势。UITextInteraction 在选择操作期间也会阻止这一点。

有人成功使用过 UITextInteraction 吗?在这个阶段,它似乎非常不成熟。

0 投票
2 回答
141 浏览

swift - 在没有 UITextField Swift 的情况下获取文本输入

我正在制作一个应用程序,我希望用户能够输入文本而无需他们实际点击 UITextField(在游戏结束后打开它以获得记分牌),有什么办法吗?

0 投票
3 回答
566 浏览

ios - UITextView 观察文本变化

我想监听 UITextView 中的每一个文本变化。设置非常简单。

在大多数情况下它工作正常,但后来我发现了一些 UITextInput 的黑盒魔法。

第 1 步:输入“我”。我们可以在输出中看到“I”。
第二步:重要的一步。双击字段选择所有文本。
第 3 步:从单词建议中选择“如果”。

在此处输入图像描述

调试器输出中没有“If”。另一方面,如果插入符号位于“I”字的末尾,我们选择“如果”输出结果是正确的。

在此处输入图像描述

有什么方法可以观察所有文本的变化吗?

我可以使用以下方法获取文本:

但我需要实时观察所有变化。我经常看到的另一个选择是使用:

但是这种方法是观察变化的不好的做法。如果您重复输入两个空格,iOS 将用点替换第一个空格,并且显然不会通知您此方法中的此操作以及它的许多其他问题。

0 投票
1 回答
98 浏览

ios - 为什么 Apple 生成的强密码自动填充没有文字?

当使用 Apple 的文本输入生成强密码时,当我点击 时,我的文本字段为空Use string password

我正在使用内容类型为的 UITextFieldnewPassword并且一切正常,直到我Use strong password从 Apple 的 UI 中点击。当我这样做时,输入保持为空。它实际上从未显示生成的密码。

0 投票
1 回答
53 浏览

ios - VoiceOver 不会在带有 UITextInput 的自定义文本视图上重复键入的字符

我有实现 UITextInput 的自定义文本视图。除了画外音不重复我使用软键盘键入的字符外,一切正常。

是否需要实现任何其他 API 或服务才能使其正常工作?

0 投票
1 回答
119 浏览

swift - 委托方法,textViewDidChangeSelection 不是每次都触发

我在 UITableView 单元格中嵌入了一个 UITextView CustomCell,. 如果我在光标位于文本末尾时点击返回键,我想在该单元格下方创建一个新单元格,但是如果我在 textView 中间点击返回,我想获得其余的光标后的单词并在 textView 中创建一个包含该文本的单元格。为此,我需要知道我在UITextViewDelegate方法的帮助下得到的 textView 中的光标位置textViewDidChangeSelection(_:)

它仅在我点击同一单元格上的不同位置时才有效,但如果我移动到不同的单元格并再次点击先前点击的单元格(在文本视图中)在同一位置,则不会触发委托方法。

让我用一个例子来展示这个案例 -

我输入一些文本进行测试。在这里,在第 5 行之后,我决定在“juice”一词之前点击第二行,例如 -

在此处输入图像描述

委托方法textViewDidChangeSelection(_:)被触发。

现在,我点击整个文本“Skim Milk”之后的第 3 行,例如 -

在此处输入图像描述

再次textViewDidChangeSelection(_:)调用委托方法。

但是现在当我回到第二行的相同位置时,即在“果汁”一词之前,委托方法不会被触发。再次,如果我在“牛奶”一词之后的相同位置处点击第 3 行,则不会调用委托方法。

我认为,原因是在那些单元格中,我点击了理智的位置,并且由于选择没有改变,委托方法没有被调用。以下是CustomCell(UITableViewCell) 类中的委托方法的代码 -

以下是控制器的代码,当点击返回键时会创建新的单元格-

要创建以下单元格,我需要每次都知道光标位置在特定单元格上的位置。所以,我需要每次都触发委托方法。

任何人都可以对我如何解决我的问题有任何建议。

0 投票
0 回答
13 浏览

ios - UITextInput 听写在文本前插入空格

在 UE4 中有 IOSView 继承 UIView interface FIOSView : UIView <UIKeyInput, UITextInput> 正如你可以看到 UE4 手动处理键盘输入。如果我在完成时开始听写输入,它会调用 (void)insertText:(NSString *)theText3 次:

  1. 它从UIDictationLandingView::StartLandingIfNecessary
  2. 它插入1个空格UIDictationController finishDictationRecognitionWithPhrases:languageModel:correctionIdentifier
  3. 它插入文本
    我的问题是为什么它被调用 3 次?
0 投票
0 回答
40 浏览

ios - UITextField 上的用户名/密码自动填充仅填写符合 UITextInput 的选定自定义视图

我一直在为我在 iOS 上的注册流程使用自动填充,但我似乎无法让它完美地工作。

我有一个具有UITextField属性之一的自定义视图,并且我将所有文本字段构建为该自定义视图的实例。

当我第一次制作它时,我不知道我应该遵守以UITextInput使自动填充工作,但自动填充几乎已经在除了 when 之外的所有东西上都工作得很好textContentType = .newPassword。起作用的是,我可以在登录时点击密码管理器,iOS 会为我填写用户名和密码字段,除了.newPassword根本不起作用或填写新密码的字段。

当我符合 时UITextInput.newPassword文本字段有点起作用,它可以让我打开密码管理器......但是,所有文本字段现在只填写选定的UITextField,而不是其他任何一个。啊,我以为我拥有它!

这远非理想,因为用户可以创建密码并且只填写用户名,反之亦然。另外,登录时,您必须输入两次密码管理器作为用户名+密码。

使这项工作的任何提示?谢谢!

PS - 似乎符合UITextInput只是样板代码,因为我已经在使用 UITextField 但只是包装在父 UIView 中......这令人困惑但没关系。