关于UITextView和UITextField的一些细节回顾

    1. 计算字体长度的问题(例如,我们在登录界面常见的输入手机号,此位数是不能超出11位的,当然输错也是可以进行修改的)

参考代码:

func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
    if "" == string{
        return true//此处判断表示删除状态
    }

    if textField == [某一自定义的textField] {

         if (textField.text! as NSString).length >= 11 {

             return false//length的方法是NSString所有的
         }
    }
  return true
}

当然也可通过注册通知,对内容的长度进行监听
参考代码:

NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(~~~~.___), name: UITextFieldTextDidChangeNotification, object: "某一自定义的textField")

然后在响应通知的方法里写自己需要的判断情况,最后不要忘记移除通知.
关于通知的方法,可以参考此链接,里边对输入框占位样式的设置,以及textView的一些代理方法都有提到

注:
1 . 前提要按情况记得遵守相关的协议UITextFieldDelegate/(UITextViewDelegated)等
2 . 在swift中要对某一字符串进行长度或截取操作时,要先对string类型的字符串进行NSString类型的转换

  • 2.说下文本框中对已经进行编辑的文本进行其他的操作情况:

    textField.clearButtonMode = .whileEditing  //编辑时出现清除按钮
    textField.clearButtonMode = .unlessEditing  //编辑时不出现,编辑后才出现清除按钮
    textField.clearButtonMode = .always  //一直显示清除按钮
    

你可能感兴趣的:(关于UITextView和UITextField的一些细节回顾)