TTTAttributedLabel La detección de enlaces no funciona en iOS8 con Swift

Quiero utilizar TTTAttributedLabel para detectar el enlace del text en la label de UITableViewCell, pero no funciona. Estoy usando swift con iOS8. a continuación se muestra el código UITableViewCell:

class StoryTableViewCell: UITableViewCell, TTTAttributedLabelDelegate { override func awakeFromNib() { super.awakeFromNib() // Initialization code // Link properties let textLabel = self.descriptionLabel let linkColor = UIColor(networking: 0.203, green: 0.329, blue: 0.835, alpha: 1) let linkActiveColor = UIColor.blackColor() if (textLabel is TTTAttributedLabel) { var label = textLabel as TTTAttributedLabel label.linkAttributes = [NSForegroundColorAttributeName : linkColor] label.activeLinkAttributes = [NSForegroundColorAttributeName : linkActiveColor] label.enabledTextCheckingTypes = NSTextCheckingType.Link.toRaw() label.delegate = self } } } 

Solutions Collecting From Web of "TTTAttributedLabel La detección de enlaces no funciona en iOS8 con Swift"

Creo que no has configurado tu custom cell correctamente .

Primero, en su customCell, declare y conecte su IBOutlet -s. Seleccione su label de text y agregue su class a TTTAttributedLabel . Su celda personalizada debería verse así:

 class StoryTableViewCell: UITableViewCell { @IBOutlet weak var textLabel: TTTAttributedLabel! override func awakeFromNib() { super.awakeFromNib() // Initialization code } override func setSelected(selected: Bool, animated: Bool) { super.setSelected(selected, animated: animated) // Configure the view for the selected state } } 

En segundo lugar , necesita agregar TTTAttributedLabelDelegate en la class en la que está utilizando tableView datasource y delegate.

Luego bajo cellForRowAtIndexPath

 var cell: StoryTableViewCell = tableView.dequeueReusableCellWithIdentifier("yourCellIdentifier") as StoryTableViewCell let linkColor = UIColor(networking: 0.203, green: 0.329, blue: 0.835, alpha: 1) let linkActiveColor = UIColor.blackColor() cell.textLabel.delegate = self cell.textLabel.linkAttributes = [kCTForegroundColorAttributeName : linkColor] cell.textLabel.activeLinkAttributes = [kCTForegroundColorAttributeName : linkActiveColor] cell.textLabel.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue 

Entonces, si tiene methods que deben ejecutarse desde TTTAttributedLabelDelegate agréguelos y realice sus cálculos.

Espero eso ayude

Si ha configurado TTTAttributedLabel como la class de su UILabel, dentro de una plumilla o del guión gráfico, asegúrese de que Interacción del usuario habilitada esté establecida en verdadero, ya que por defecto un UILabel tendrá la interacción del usuario deshabilitada.

  let linkColor = UIColor.blueColor() let linkActiveColor = UIColor.greenColor() textLabel.delegate = self textLabel.linkAttributes = [kCTForegroundColorAttributeName : linkColor.CGColor,kCTUnderlineStyleAttributeName : NSNumber(bool: true)] textLabel.activeLinkAttributes = [NSForegroundColorAttributeName : linkActiveColor] textLabel.enabledTextCheckingTypes = NSTextCheckingType.Link.rawValue