美文网首页
iOS短信验证码控件,自动输入回调两次解决办法

iOS短信验证码控件,自动输入回调两次解决办法

作者: anny_4243 | 来源:发表于2022-07-18 14:49 被阅读0次

    项目中的短信验证码输入使用了第三方控件,当收到短信之后点击验证码自动输入之后出现了执行两次回调方法的bug。

    经排查问题出现在如下代码中:

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(textFieldDidChangeValue:) name:UITextFieldTextDidChangeNotification object:_textField];
    
    -(void)textFieldDidChangeValue:(UITextField *)textField{
    
    }
    

    改为下面的代码之后bug消失:

    [_textField addTarget:self action:@selector(valueChanged:) forControlEvents:UIControlEventEditingChanged];
    
    -(void)valueChanged:(UITextField *)textField{
        UITextRange *selectedRange = textField.markedTextRange;//获取高亮部分
        if (selectedRange == nil || selectedRange.empty) {
            
        }else{
            return;
        }
    }
    

    参考链接:
    https://blog.csdn.net/allanGold/article/details/93048978

    相关文章

      网友评论

          本文标题:iOS短信验证码控件,自动输入回调两次解决办法

          本文链接:https://www.haomeiwen.com/subject/nfqdirtx.html