如何获取UITextField的行高



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

1.如何获取UITextField的行高?

2.如何使UITextField最多只能输入3行文本?

3.如何使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'并进行更改。