TTTAttributedLabel-Links werden formatiert, sind jedoch nicht anklickbar

Ich habe nach einer Lösung gesucht, um klickbare Links zum Laufen zu bringen. Ich kann dies erreichen, wenn ich UITextView + NSAttributedString verwende, aber wenn es sich um eine UITableViewCell handelt, wird das Layout nicht ordnungsgemäß automatisch berechnet.

Nun habe ich meinem Projekt das TTTAttributedLabel hinzugefügt und es formatiert die Ansichten einfach perfekt. Die Links werden ebenfalls blau und unterstrichen.

Jedoch, wenn Sie darauf klicken, geschieht nichts. Ich habe TTTAttributedLabelDelegate auf meinem Controller implementiert und das Label im Storyboard MyLabel implementieren lassen (was nur TTTAttributedLabel erweitert und die Delegate-Optionen enthält, da sie in derselben Funktion ausgelöst werden sollen). Im Moment habe ich den Controller so eingestellt, dass er der Delegierte ist, von dem ich dachte, dass er möglicherweise nicht auf sich selbst verweist.

Aber keine dieser Funktionen wird ausgelöst, ich habe Haltepunkte und logge mich ein.

Ich habe didSelectLinkWithUrl und didLongPressLinkWithUrl implementiert.

 func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) {
        Debug.log("link clicked")
    }
    func attributedLabel(label: TTTAttributedLabel!, didLongPressLinkWithURL url: NSURL!, atPoint point: CGPoint) {
        Debug.log("link long clicked")
    }

Auslau

@IBOutlet weak var content: MyLabel!

MyLabel

import UIKit import TTTAttributedLabel

class MyLabel : TTTAttributedLabel, TTTAttributedLabelDelegate {

override func didMoveToSuperview() {
    if (self.delegate == nil) {
        self.delegate = self
    }
    self.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue
    self.userInteractionEnabled = true
}

func attributedLabel(label: TTTAttributedLabel!, didSelectLinkWithURL url: NSURL!) {
    Debug.log("link clicked")
}
func attributedLabel(label: TTTAttributedLabel!, didLongPressLinkWithURL url: NSURL!, atPoint point: CGPoint) {
    Debug.log("link long clicked")
}

Weiß jemand was ich vermissen könnte?

Aktualisiere

Ich fand heraus, dass nur in einer URL f / e Einfügenhttp: //example.co wird aktiv und ist tatsächlich anklickbar, und die didSelectLinkWithUrl wird anklickbar, obwohl ich eine zugeordnete Zeichenfolge benötige und sie auf einer HTML-Zeichenfolge basiert.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage