Me gustaría hacerlo en mi app :

Enlace dentro de la etiqueta en Swift

La etiqueta es como : nombre de usuario comentario

No sé cómo agregar el botón de «» dentro de la etiqueta; he encontrado esta biblioteca, pero no estoy seguro de que funcionará? https://github.com/optonaut/ActiveLabel.swift

Tal vez de usar por la creación de un regex para la primera palabra? ¿Qué te parece?

  • Etiqueta activa está trabajando bien.
  • u puede proporcionar algo de código para hacer un nick de usuario puede hacer clic? sin el «@».
  • véase la respuesta publicada por mí recientemente. 🙂
InformationsquelleAutor KevinB | 2017-06-05

3 Comentarios

  1. 7

    Para tal caso, en lugar de agregarlo como un UILabel componente, prefiero utilizar UITextView, porque tiene dataDetectorTypes propiedad:

    Los tipos de datos que convierten a tocar Url en la vista de texto.

    Puede utilizar esta propiedad para especificar los tipos de datos (números de teléfono,
    http enlaces, y así sucesivamente) que deben ser convertidos automáticamente a la Url
    en la vista de texto. Cuando se toca, el texto se abre la vista de la aplicación
    el responsable de manejar el tipo de dirección URL y le pasa la dirección URL. Nota que
    detección de datos no se produce si el texto de la vista isEditable propiedad
    se establece en true.

    Así, usted puede implementar como:

    //as mentioned in the documentation, make sure to let it be uneditable:
    textView.isEditable = false
    textView.dataDetectorTypes = .link

    Para tu caso, supongo que será .link. También me gustaría sugerir que compruebe las opciones para el UIDataDetectorTypes.

  2. 3

    Uso Activo De La Etiqueta https://github.com/optonaut/ActiveLabel.swift
    Hacer un UILabel nombre label

     let customType = ActiveType.custom(pattern: "\sjohncena\b") //Looks for "supports"
     label.enabledTypes.append(customType3)
     label.handleCustomTap(for: customType) { self.alert("Custom type", message: $0) }
    
     func alert(_ title: String, message: String) {
            let vc = UIAlertController(title: title, message: message, preferredStyle: UIAlertControllerStyle.alert)
            vc.addAction(UIAlertAction(title: "Ok", style: .cancel, handler: nil))
            present(vc, animated: true, completion: nil)
        }

    donde johncena es la cadena que se puede hacer clic.
    ver https://github.com/optonaut/ActiveLabel.swift/blob/master/ActiveLabelDemo/ViewController.swift

    • Voy a probar a hacerlo en la noche. Voy a uparrow, por si ayuda. thx!
  3. 2

    Puede utilizar TTTAttributedLabel para hacer una parte en particular o de la palabra para tocar en un UILabel.

    Por ejemplo

    label.text = @"Fork me on GitHub! (https://github.com/mattt/TTTAttributedLabel/)"; //Repository URL will be automatically detected and linked
    NSRange range = [label.text rangeOfString:@"me"];
    [label addLinkToURL:[NSURL URLWithString:@"http://github.com/mattt/"] withRange:range];

    Además de los hipervínculos se pueden añadir enlaces personalizados también a una parte en particular o de la palabra y que la palabra se convierte en tocar y tocar esa palabra método delegado didSelectLinkWithURL se llama y se puede comprobar que el enlace dentro de esa función

    (void)attributedLabel:(TTTAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
        NSLog(@"link %@", [url absoluteString]);
        NSLog(@"whole label %@", label);
    }

Dejar respuesta

Please enter your comment!
Please enter your name here