Я изо всех сил пытался обнаружить нажатие на UITextView с Swift.
Мои UITextViews находятся в таблице, я должен быть в состоянии обнаружить ссылки и нажать их, длина этих ссылок неизвестна.
Также, если я нажимаю на ячейку, которую я не нажимаю на ссылку, я хочу вставить новый UIViewController в мой стек контроллера навигации.
Я пытался создать свое собственное текстовое представление, чтобы перезаписать штрихи, но они не увенчались успехом. Он обнаруживает отмену, которая не считается нажатием на реальном устройстве.
Ошибка не возникает в симуляторе, но кажется, что я не могу нажать на реальном устройстве, только долгое нажатие будет работать.
class LinkTextView: UITextView {
override func touchesCancelled(touches: Set<NSObject>!, withEvent event: UIEvent!) {
self.textViewWasTapped(self)
}
}
Я попытался добавить непосредственно распознаватель жестов. У меня там тоже не было успеха. Он вообще не вызывает распознаватель жестов.
Я добавил делегат UIGestureReconizer в свой UIViewController и эти строки в моем
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
var singleTap : UIGestureRecognizer = UIGestureRecognizer(target: self, action: "tapTextView:")
singleTap.delegate = self
cell.mTextOutlet.attributedText = myMutableString
cell.mTextOutlet.addGestureRecognizer(singleTap)
В моем классе LinkTextView:
class LinkTextView: UITextView {
func tapTextView(stapGesture: UIGestureRecognizer){
println("TAPPING1")
}
}
Я посмотрел форумы и нашел этот пост: пост. Он предлагает использовать CHHLinkTextView. Я пытался использовать его, но я хочу автоматически определять ссылку, что обычно делает обычный uitextview.
Я попытался использовать checkBox в конструкторе интерфейсов для разбора ссылок с CHHLinkTextView, но он не работает. Я не видел ничего в документации, предполагающей, что это можно сделать.
Как мне поступить?