【问题标题】:iOS 12 - oneTimeCode OTP delegateiOS 12 - oneTimeCode OTP 委托
【发布时间】:2019-05-02 02:26:06
【问题描述】:

当用户点击 iOS 提供的 OTP 建议时,是否有任何delegate 被解雇?

我知道我可以使用UITextFieldDelegate 方法来检测textfieldtext 属性的变化,但是知道用户按下了按钮会让事情变得容易得多...

【问题讨论】:

  • 经过相当多的研究后,我也无法直接为此目的找到任何代表。但我发现 otp 通常在空文本字段上实现。 sotextFieldDidBeginEditing 零文本帮助完全在这方面

标签: ios uitextfield ios12 one-time-password


【解决方案1】:

根据苹果的文章:About the Password AutoFill Workflow

对于 iOS 应用,当视图被修改时,系统总是会发送一个 textDidChangeNotification 通知。它还调用视图的委托方法之一——但具体方法取决于视图的类型:

UITextField:系统调用你的 UITextFieldDelegate 对象的 textField(_:shouldChangeCharactersIn:replacementString:) 方法。

UITextView:系统调用你的 UITextViewDelegate 对象的 textView(_:shouldChangeTextIn:replacementText:) 方法。

采用UITextInput协议的自定义View:系统调用UIKeyInput协议中的insertText(:)方法或replace(:withText:)方法。

您可以创建UITextFieldUITextView 的子类并覆盖insertText(:) 方法和replace(:withText:) 方法,当用户点击快捷栏时会调用它。

【讨论】:

    【解决方案2】:

    在我的情况下,我发现当我在Should change Charater 中得到一个文本时,我有两个空格,在那里我知道它是自动填充字符,所以根据它,我一个一个地更新我的四个文本字段.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      • 2015-08-13
      • 2012-02-03
      相关资源
      最近更新 更多