es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo crear un componente TextView que muestre dos líneas de texto en Swift para iOS.

Planeando utilizar la misma vista de texto en múltiples lugares dentro de la aplicación, por lo que planeo crear un componente de vista de texto sin XIB / Storyboard para poder reutilizarlo en múltiples lugares.

Soy un desarrollador junior, ¿cómo podemos crear un componente de vista de texto programáticamente que pueda mostrar dos líneas de texto como se muestra en la captura de pantalla a continuación?

Se creó una clase de texto de vista y se intentó agregar texto en ella. Por favor, aconseje / sugiera el flujo para implementar esto.

@ IBDesignable class pública HyperLinksTextView: UITextView {
requerido público init? (coder: NSCoder) {
super.init (coder: coder)
este.backgroundColor = .claro
crearTextView()
}

función createTextView() {

}

}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Como experto en tecnología de la información especializado en el desarrollo de iOS, crear un componente de vista de texto reutilizable programáticamente es una gran idea. Para crear un componente de vista de texto que muestre dos líneas de texto, puede seguir los siguientes pasos:

    1. Cree una subclase de UITextView y cree una nueva clase llamada HyperLinksTextView como ya se ha hecho en el fragmento de código.
    2. En el constructor de la clase HyperLinksTextView, establezca el color de fondo en transparente y llame al método createTextView () para crear el diseño de la vista de texto.

    3. En el método createTextView (), puede usar el método addSubview () para agregar dos UILabels como subvistas de la vista de texto. El primer UILabel mostrará el texto del título y el segundo mostrará el texto de detalle.

    4. Posicione las etiquetas usando la propiedad de marco y establezca la propiedad numberOfLines de ambas etiquetas en 1.

    5. Una vez que haya agregado los UILabels a la vista de texto, puede configurar sus propiedades, como el tamaño de fuente, la alineación, etc.

    Aquí hay un fragmento de código actualizado que agrega dos UILabels al componente de vista de texto:

    @IBDesignable public class HyperLinksTextView: UITextView {
    
        var titleLabel: UILabel!
        var detailLabel: UILabel!
    
        required public init?(coder aDecoder: NSCoder) {
            super.init(coder: aDecoder)
            self.backgroundColor = .clear
            createTextView()
        }
    
        func createTextView() {
            titleLabel = UILabel(frame: CGRect(x: 0, y: 0, width: self.bounds.width, height: self.bounds.height/2))
            titleLabel.numberOfLines = 1
            titleLabel.font = UIFont.boldSystemFont(ofSize: 18)
            titleLabel.textAlignment = .left
            titleLabel.textColor = .black
            self.addSubview(titleLabel)
    
            detailLabel = UILabel(frame: CGRect(x: 0, y: self.bounds.height/2, width: self.bounds.width, height: self.bounds.height/2))
            detailLabel.numberOfLines = 1
            detailLabel.font = UIFont.systemFont(ofSize: 16)
            detailLabel.textAlignment = .left
            detailLabel.textColor = .gray
            self.addSubview(detailLabel)
        }
    }
    

    Ahora puede usar este componente para mostrar dos líneas de texto en varios lugares de su aplicación, instanciándolo programáticamente y configurando sus propiedades de texto de título y detalle.

Comments are closed.