相关疑难解决方法(0)

Swift Combine - 如何获得为 UITextField 的文本属性的每个字符更改提供事件的发布者

我注意到

textField.publisher(for: \.text)
Run Code Online (Sandbox Code Playgroud)

在编辑完成时传递事件,但不是针对每个字符/编辑更改。我如何获得一个发布者,它会为每次更改发送事件?在 ReactiveSwift 中,它将是

textField.reactive.continousTextValues()
Run Code Online (Sandbox Code Playgroud)

而在 RxSwift 中,它只是(如何在 RxSwift 中每次 UITextField 文本属性更改时获得信号

textField.rx.text
Run Code Online (Sandbox Code Playgroud)

我采取的方法:

  • 检查publisher(for:options:)方法,但对于所需的结果没有合适的选项。
  • 添加目标/操作textField.addTarget(self, action: #selector(theTextFieldDidChange), for: .editingChanged)UITextField 文本更改事件
  • 通过接口构建器连接操作,与上一步基本相同,这两者都会导致额外的工作和混乱的代码。
  • 观看 2019 年关于 Combine 的 WWDC 视频。他们没有处理文本字段,而是使用@Published变量,隐藏值实际上来自 - (或者我错过了什么?)。

我目前不知道如何做到这一点,我觉得有回到 ReactiveSwift 的趋势,但我想问你,在退步之前。

uitextfield ios swift combine

7
推荐指数
3
解决办法
2853
查看次数

UITextField 不水平滚动

我正在尝试制作一个小型计算器应用程序。当按下 UIButton 时,按钮标题将添加到 UITextField 中。

有点儿:

myuitextfield.text = [myuitextfield.text stringByAppendingString:[button currentTitle];
Run Code Online (Sandbox Code Playgroud)

当我到达文本字段的末尾时,文本会被截断。如何禁用此功能,以便文本字段开始自动滚动并允许添加更多字符?

我在 Interface Builder 中尝试了所有可能的选项,但没有任何运气。UITextField 不是应该自动滚动吗?当使用本机键盘并输入文本时,我可以看到此行为。

我选择了 UITextField,因为我只需要 1 行。

为了说明问题:当我使用自定义 UIButtons 输入文本时,文本会被截断 手动按钮

当我点击 UITextField 并使用键盘输入文本时,我可以输入无限的文本并且文本不会被截断。 系统键盘

uitextfield horizontal-scrolling

5
推荐指数
1
解决办法
3703
查看次数

检测用户是否输入了UITextField

我知道如果您使用以下代码行,您可以检测用户在TEXT VIEW中键入的内容.

if ([[textView text] isEqualToString:@"")
Run Code Online (Sandbox Code Playgroud)

我想检测用户是否在文本FIELD中键入了任何内容,这对文本字段不起作用.我应该改变什么?谢谢你的帮助!

string iphone uitextfield ipad ios

2
推荐指数
1
解决办法
6563
查看次数

如何知道用户是否修改了UITextField的文本

我为iPhone iOS 4和Xcode 4开发了一个项目.

有一种方法可以知道用户是否修改了UITextField的文本?

例如,我有2个UITextField,textFieldA和textFieldB,并假设textField包含一些文本为"abc".

用户首先点击textFieldA(键盘打开),然后点击textFieldB.如何知道textFieldA中的文本是否已被用户修改?

谢谢.

iphone uitextfield ios4

0
推荐指数
1
解决办法
1901
查看次数

IOS 7 - 检测文本字段中的更改

我想知道如何检测文本字段中的更改.我知道我们可以使用Do End On Exit但这仅在用户完成在文本字段上键入并按其他地方返回或单击时才有效.我想知道如何检测每个输入或删除文本字段中的字母/数字,即如果文本字段中的初始文本是徽章.一旦用户按下删除按钮使文本"badg"我想运行一个方法,一旦用户再次按下删除使其"坏"我想运行一个方法等.

谢谢:)

textfield ios

-2
推荐指数
1
解决办法
1万
查看次数