class CustomTextView: UITextView {
var tapLinkBlock: ((String) -> Void)?
override func awakeFromNib() {
super.awakeFromNib()
//取消手势
if let gestureRecognizers = self.gestureRecognizers {
for recognizer in gestureRecognizers {
if let index = self.gestureRecognizers?.firstIndex(of: recognizer) {
self.gestureRecognizers?.remove(at: index)
}
}
}
}
override func touchesEnded(_ touches: Set<UITouch>, with event: UIEvent?) {
let touch = Array(touches)[0]
if let view = touch.view {
let point = touch.location(in: view)
self.tappedAction(on: point)
}
}
private func tappedAction(on point: CGPoint) {
var location: CGPoint = point
location.x -= self.textContainerInset.left
location.y -= self.textContainerInset.top
let charIndex = layoutManager.characterIndex(for: location, in: self.textContainer, fractionOfDistanceBetweenInsertionPoints: nil)
guard charIndex < self.textStorage.length else {
return
}
var range = NSRange(location: 0, length: 0)
if let attributedText = self.attributedText {
if let link = attributedText.attribute(NSAttributedString.Key.link, at: charIndex, effectiveRange: &range) as? String {
//处理点击链接动作
tapLinkBlock?(link)
}
}
}
}
iOS UITextView点击链接,取消背景高亮
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...