Ios 如何制作一个UITextView,通过一次触摸选择一个单词?
我有一个UITextView,它是不可编辑的,但需要能够在触摸该单词时选择该单词,并将所选单词传递给另一个函数。怎么办?任何帮助都将不胜感激。超级背包解决方案(如果你有很多话,这是个坏主意):Ios 如何制作一个UITextView,通过一次触摸选择一个单词?,ios,objective-c,swift,uitextview,Ios,Objective C,Swift,Uitextview,我有一个UITextView,它是不可编辑的,但需要能够在触摸该单词时选择该单词,并将所选单词传递给另一个函数。怎么办?任何帮助都将不胜感激。超级背包解决方案(如果你有很多话,这是个坏主意): 在UITextView链接中创建所有单词(但不要将其格式化) 在IB中选择UITextView 让你的VC(或拥有UITextVew的人)实现UITextViewDelegate 实现-(BOOL)textView:(UITextView*)textView应与范围内的URL:(NSURL*)URL:(
- 在
链接中创建所有单词(但不要将其格式化)李>UITextView
- 在IB中选择
UITextView
- 让你的VC(或拥有UITextVew的人)实现
UITextViewDelegate
- 实现
-(BOOL)textView:(UITextView*)textView应与范围内的URL:(NSURL*)URL:(NSRange)字符范围进行交互
- 使用
设置characterRange
selectedTextRangeUITextView
- 利润李>
UITapgestureRecognitor
获取抽头位置,将其转换为UITextView
并选择水平环绕抽头位置的图示符。步骤1:
要从textView获取所选字符串,必须实现UITextViewDelegate
delegate并实现一个方法
步骤2:
将所选文本传递给另一个函数
class ViewController: UIViewController, UITextViewDelegate {
@IBOutlet weak var textView: UITextView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
self.textView.delegate = self;
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func textViewDidChangeSelection(textView: UITextView) {
let range: NSRange = textView.selectedRange
let text = textView.text as NSString
let selectedText = text.substringWithRange(NSMakeRange(range.location, range.length))
self.getSelectedText(selectedText)
}
func getSelectedText(text: String) {
NSLog("\(text)")
}
}