1、创建
let textView = UITextView.init(frame: CGRect.init(x: 100, y: 100, width: 200, height: 100))
//滑动条关闭
textView.showsVerticalScrollIndicator = false
textView.showsHorizontalScrollIndicator = false
//边框大小及颜色
textView.layer.borderWidth = 1
textView.layer.borderColor = UIColor.orange.cgColor
//是否允许编辑
textView.isEditable = false
// 内容
textView.text = "dsdasa"
//选择文字后可以对选择文字加粗等操作
textView.allowsEditingTextAttributes = true
//false 文字将不能被选择,防止用户复制我们的文字
textView.isSelectable = false
textView.delegate = self
self.view.addSubview(textView)
2、设置文字
textView.dataDetectorTypes = UIDataDetectorTypes.all
.all //所有创建链接
.link // 只创建网址链接
.phoneNumber // 只创建电话号码链接
3、代理设置
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
//编辑开始前被调用 ,如果返回false,编辑将不会开始
return true
}
func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
//编辑结束前被调用,如果返回false,编辑将不会结束
return true
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
//改变文本前被调用,向range中设置变化范围,text中设置变化的字符串,返回false,变化将不会反应
return true
}
func textViewDidBeginEditing(_ textView: UITextView) {
//编辑结束后被调用,获取焦点是被调动,如执行becomeFirstResponder方法后
}
func textViewDidEndEditing(_ textView: UITextView) {
//编辑结束后被调用,失去焦点时被调用,如执行resignFirstResponde方法后
}
func textViewDidChange(_ textView: UITextView) {
//文本变更时被调用,结果是每输入一个字符时都会被调用
}
func textViewDidChangeSelection(_ textView: UITextView) {
//游标移动,选择范围发生变化时被调用
}
还有其他的一些这里就不一一写出了