0
我需要做一個文本的一部分互動,這是我迄今爲止所取得的截圖,這是很好的,但問題是爲什麼UITextview的交互部分需要長按?
1 - 它需要長按 2和強迫我有文字可選
有關如何解決這個問題的任何想法?
import UIKit
class ViewController: UIViewController, UITextViewDelegate
{
@IBOutlet weak var textView: UITextView!
override func viewDidLoad()
{
super.viewDidLoad()
let attributedString = NSMutableAttributedString(string: "text with a link", attributes: nil)
attributedString.setSubstringAsLink(substring: "link", linkURL: "CUSTOM://WHATEVER")
let linkAttributes: [String : AnyObject] = [NSForegroundColorAttributeName : UIColor.redColor(), NSUnderlineColorAttributeName : UIColor.redColor(), NSUnderlineStyleAttributeName : NSUnderlineStyle.StyleSingle.rawValue]
textView.linkTextAttributes = linkAttributes
textView.attributedText = attributedString
textView.selectable = true
textView.editable = false
textView.userInteractionEnabled = true
textView.delegate = self
}
func textView(textView: UITextView, shouldInteractWithURL URL: NSURL, inRange characterRange: NSRange) -> Bool
{
if URL == "CUSTOM://WHATEVER"
{
print("????")
}
else
{
print("!!!!")
}
return true
}
override func didReceiveMemoryWarning()
{
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
extension NSMutableAttributedString
{
public func setSubstringAsLink(substring substring: String, linkURL: String) -> Bool
{
let range = self.mutableString.rangeOfString(substring)
if range.location != NSNotFound
{
self.addAttribute(NSLinkAttributeName, value: linkURL, range: range)
return true
}
return false
}
}
這是我做的一樣,它也需要長按,快速點擊不要」工作。 – DeyaEldeen
不需要長時間點擊,我使用的項目很少,而且沒有任何問題。 – Abdulkerim
在模擬器上它確實需要長時間點擊,我的意思是,快速點擊不起作用,請告訴我關於您在模擬器和設備上的體驗嗎? – DeyaEldeen