我的应用中有一个UITextView
和一个UIButton
,并且我试图获取UITextView
的文本内容,以便在点击UIButton
时将其清除。
我的代码:
@IBOutlet weak var textView: UITextView!
@IBAction func ClearButtonTapped(_ sender: UIButton) {
// I want to clear the text content of textView
}
在UITextView
类中是否有内置功能?在Xcode中搜索UITextView
类时,我什么都没找到。
我的应用程序位于Xcode 10.1和Swift 4.2上。
答案 0 :(得分:1)
小改进:
textView.text = nil
答案 1 :(得分:1)
尝试使用textView.text = ""
。如果这不起作用,则可能是您正在使用占位符。尝试textView.placeholder = ""
答案 2 :(得分:0)
我没有找到准备使用的功能来清除UITextView
的文本内容,因此我创建了以下代码:
UITextView
变量:
@IBOutlet weak var textView: UITextView!
清除UITextView
的功能:
@IBAction func ClearButtonTapped(_ sender: UIButton) {
textView.selectAll(textView)
if let range = textView.selectedTextRange { textView.replace(range, withText: "") }
}
轻按清除按钮时,该功能检查UITextView
中是否有任何文本,如果有的话,它将选择UITextView
中的所有文本并将其替换为空String
。
编辑:
还有一种简单的方法,由于某种原因,我之前尝试过该方法不起作用(可能是因为Xcode 10.1中的错误),但是,这种方式用户无法撤消如果他们不小心点击了清除按钮:
@IBAction func ClearButtonTapped(_ sender: UIButton) {
textView.text = ""
}
或带有扩展名:
extension UITextView {
func clear() {
self.text = ""
}
}
要清除文本,请致电textView.clear()
。