如何获取 UITextField 的行高

How do I get the line height of UITextField

我有几个问题在网上找不到答案:

1.How 获取 UITextField 的行高吗?

2.How 我是否让 UITextField 最多只能输入 3 行文本?

3.How 我是否让 UITextField 每行最多只能输入 25 个字符?

感谢您的回答!

正如评论所说,您应该使用 UITextView,而不是 UITextField。 UITextField 只处理一行。 使用 UITextView 处理多行文本

我将就第 3 条给你一个意见。

首先,文本视图 limits the length 有一些东西。
自动布局为 25 个字符的长度以适应您想要的字体大小。

其二是当文字达到25个字符时,it adds a line-breaking symbol


extension mainVC: UITextViewDelegate {

   func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
        
        if let char = text.cString(using: String.Encoding.utf8) {
            let isBackSpace = strcmp(char, "\b")
            
            if isBackSpace != -92 {
                if textView.text.count == 25 {
                    textView.text += "\n"
                }
            }
        }
        
     
        return true
    }
}

如果你输入的是not backspace,就会被执行。如果是25个字符,可以在textView中的文字中加上换行符'\n',然后改成