快速验证失败时,会在UITextField中自动显示错误图标

PPShein

我希望当验证之一迅速失败时,错误图标图像将自动显示在UITextField中。

这是正常阶段 在此处输入图片说明

这是验证失败的错误阶段 在此处输入图片说明

对于该UITextField,我创建了以下自定义UITextField

class OvalTextField: UITextField {

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)!
        createBorder()
    }

    required override init(frame: CGRect) {
        super.init(frame: frame)
        createBorder()
    }

    func createBorder(){

        let errorImg = UIImageView (frame: CGRectMake(0, 0, 30, 30))
        errorImg.image = UIImage(named: "error")
        errorImg.contentMode = UIViewContentMode.Left

        self.layer.borderWidth = 1.0
        self.layer.borderColor = UIColor(red:0.93, green:0.93, blue:0.93, alpha:1.0).CGColor
        self.layer.cornerRadius = self.frame.size.height / 2
        self.layer.masksToBounds = true

        let gapLabel = UIView (frame: CGRectMake(60, 0, 10, 40))
        self.leftView = gapLabel
        self.leftViewMode = UITextFieldViewMode.Always

        /* Display that one when validation is failed */
        self.rightView = errorImg;
        self.rightViewMode = UITextFieldViewMode.Always
    }
}

并在ViewController中使用了该UITextField,

@IBOutlet var txtEmail: OvalTextField!

如果该txtEmail为空或无效的电子邮件地址,我想显示错误图标消息。

请建议我该怎么做。提前致谢。

EricXuan

您可以使用UITextFiledDelegate方法func textField(textField:UITextField,shouldChangeCharactersInRange范围:NSRange,replaceString string:String)->布尔值在用户输入时使电子邮件有效。

  1. 首先设置委托,txtEmail.delegate = self,然后
  2. 实现委托方法

    func textField(textField: UITextField, shouldChangeCharactersInRange  range: NSRange, replacementString string: String) -> Bool {
    
        let email = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
    
        if /* email is validate */ {
            textField.rightView?.hidden = false
        } else {
            textField.rightView?.hidden = true
        }
    
        return true
    

    }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用api验证失败时显示错误

在UITextField中快速添加图像或图标

在UITextField中快速添加图标/图像

PHP验证显示错误图标

vim-go / synstastic错误不会在保存时自动显示

快速解析XML失败并显示nil错误

省略“必需” JSON密钥时,验证不会在.Net Core 2.1 MVC中失败

UnbindService会在Android Studio中自动清除通知图标吗?

Hybris会在代码自动生成时失败-ant all

当extra = 0时在formset中显示表单验证错误

Cassandra验证失败错误-修复会话失败,并显示错误

验证图标未显示在表格字段中

Ruby on Rails 设计 Bootstrap Recaptcha 错误在验证码失败时显示不正确

WKWebView不会在iOS 9.0中快速显示网站

当输出为空时,Excel中的自动筛选失败(当输出为空时,它会全部显示)

使用“ android.test.purchased”时,应用程序购买服务器端产品购买中的GooglePlay验证失败,并显示400错误

发布操作失败,并显示“ CSRF令牌验证失败”错误

当我在UITextField中添加填充时隐藏的图标

Aurelia验证-验证失败时不显示任何消息

快速显示生成的文件列表中的文件图标

Microsoft身份验证自动登录帐户。用户手动选择帐户时,导致“关联失败”错误

在Android上的应用程序结算中显示错误:1003:购买签名验证失败

快速自动显示键盘

如果Webgrid中的验证失败,则显示图像

密码的失败验证逻辑时如何读取验证错误消息

从反应中的快速显示处理错误消息

键盘显示时,createBottomTabNavigator空白(图标是自动隐藏)

当异步添加新项目时,UICollectionView快速滚动在单元格中显示错误的图像

气流:每当 DAG/TASK 因 on_failure_callback 失败时,不会在电子邮件中收到错误消息