ios - 如何获取 UITextField 的行高
问题描述
我有几个问题在网上找不到答案:
1.如何获取UITextField的行高?
2.如何让 UITextField 最多只能输入 3 行文本?
3.如何让 UITextField 每行最多输入 25 个字符?
并感谢您的回答!
解决方案
正如评论所说,您应该使用 UITextView,而不是 UITextField。UITextField 只处理一行。使用 UITextView 处理多行文本。
我要给你一个关于数字3的意见。
首先,有一些limits the length
关于 textview 的东西。
自动布局到 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 个字符,可以'\n'
在 textView 中的文本中添加行符号并进行更改。
推荐阅读
- php - 写入php文件时无法打开文件
- angular-cli - 输入“ng new myProject”时,Angular 7 不启动提示
- android - 仅显示黑色图标的导航抽屉
- scala - val cond: (Int, Int) => Boolean = (...) 这个 scala 代码是什么意思?
- r - 对 R 的 Tibbles 中的类似变量进行分组
- android - 多线程与服务的典型用例是什么?
- javascript - 如何在 react-native 的动态列表视图中更改字体大小?
- routing - 如何在 Angular 7 中正确实现命名路由器插座?
- android - android studio中的gradle没有选择安装的sdk
- python - 从字符串中提取小时_不明确的格式