我有几个问题在网上找不到答案:
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'
并进行更改。