¿Hay alguna manera de tener varias líneas de texto UILabel
como en el UITextView
o debería usar el segundo?
ios
uilabel
uitextview
line-breaks
multiline
Ilya Suzdalnitski
fuente
fuente
UILineBreakModeWordWrap
fue obsoleto en iOS 6. Ahora debe usarNSLineBreakByWordWrapping = 0
Consulte la documentación aquíRespuestas:
Encontré una solución.
Solo hay que agregar el siguiente código:
Respuesta anterior restaurada (para referencia y desarrolladores dispuestos a admitir iOS por debajo de 6.0):
En el lado: ambos valores de enumeración ceden de
0
todos modos.fuente
cell.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
ycell.textLabel?.numberOfLines = 0
En IB, establezca el número de líneas en 0 (permite líneas ilimitadas)
Al escribir dentro del campo de texto usando IB, use "alt-return" para insertar un retorno e ir a la siguiente línea (o puede copiar en el texto ya separado por líneas).
fuente
La mejor solución que he encontrado (para un problema frustrante que debería haberse resuelto en el marco) es similar a la de Vaychick.
Simplemente establezca el número de líneas en 0 en IB o código
Esto mostrará las líneas necesarias pero reposicionará la etiqueta de manera que esté centrada horizontalmente (de modo que una etiqueta de 1 línea y 3 líneas estén alineadas en su posición horizontal). Para arreglar eso agregue:
fuente
Use esto para tener múltiples líneas de texto en
UILabel
:Rápido:
fuente
fuente
Si tiene que usar el:
También puede usar un salto de línea estándar
("\n")
, en código, para forzar una nueva línea.fuente
Puede usar
\r
para ir a la siguiente línea mientras completa elUILabel
usoNSString
.fuente
intentemos esto
fuente
La solución anterior no funciona en mi caso. Estoy haciendo asi:
fuente
Use story borad: seleccione la etiqueta para establecer el número de líneas en cero ...... o consulte esto
fuente
Swift 3
Establezca el número de líneas cero para la información de texto dinámico, será útil para variar el texto.
fuente
Por algunas razones, no funciona para mí en iOS 6, no estoy seguro de por qué. Probado con y sin texto atribuido. Alguna sugerencia.
fuente
Intenta usar esto:
fuente
Estas cosas me ayudaron
Cambiar estas propiedades de UILabel
Y al dar una cadena de entrada use \ n para mostrar diferentes palabras en diferentes líneas.
Ejemplo:
fuente
Método 1:
Ahora llama simplemente así
EX:
Método 2:
Programáticamente
Método 3:
A través del tablero de la historia
Para mostrar varias líneas, establezca 0 (cero), esto mostrará más de una línea en su etiqueta.
Si desea mostrar n líneas, configure n.
Ver debajo de la pantalla.
Si desea establecer el tamaño de fuente mínimo para la etiqueta, haga clic en Reducción automática y seleccione la opción Tamaño de fuente mínimo
Ver debajo de las pantallas
Aquí establezca el tamaño de fuente mínimo
EX: 9 (en esta imagen)
Si su etiqueta recibe más texto en ese momento, el texto de su etiqueta se reducirá hasta 9
fuente
fuente
También puedes hacerlo a través del Storyboard:
fuente
deberías probar esto:
fuente
fuente
Ya respondió, pero también puede hacerlo manualmente en el guión gráfico. En Inspector de atributos para la etiqueta, puede cambiar Saltos de línea a Ajuste de línea (o ajuste de caracteres).
fuente
En esta función, pase la cadena que desea asignar en la etiqueta y pase el tamaño de la fuente en lugar de self.activityFont y pase el ancho de la etiqueta en lugar de 235, ahora obtiene la altura de la etiqueta de acuerdo con su cadena. Funcionará bien.
fuente
Establezca a continuación, ya sea en código o en el propio guión gráfico
Label.lineBreakMode = NSLineBreakByWordWrapping; Label.numberOfLines = 0;
y no olvide establecer restricciones izquierda, derecha, superior e inferior para la etiqueta; de lo contrario, no funcionará.
fuente
Swift 4:
fuente
En C #, esto funcionó para mí dentro de UITableViewCell.
Creo que el punto aquí es: -
fuente
Este código devuelve la altura del tamaño de acuerdo con el texto
fuente