Cómo alinear el text de UILabel en el párrafo

Tengo un pequeño problema al configurar la alignment del text según el requisito del cliente. El cliente desea que el text se alinee en forma de párrafo con numbers en línea separada. Por favor vea la image a continuación, el número tiene relleno de 19 píxeles y text alineado en forma de párrafo con relleno de 41 píxeles.

introduzca la descripción de la imagen aquí

Si configuramos la alignment a la izquierda para labelr, obtendremos la segunda línea debajo del numérico.

introduzca la descripción de la imagen aquí

Traté de search una solución pero no pude tener éxito.

Gracias por adelantado.

Deberá establecer diferentes attributes para la parte de pregunta y la parte de respuesta. Ya estás haciendo esto para controlar la fuente, así que no debería ser un gran cambio. Debe establecer el estilo de párrafo para cada sección. Para la sección de preguntas, debe establecer el firstLineHeadIndent en 19 y el headIndent en 41. Para la sección de respuesta, debe establecer ambos en 41.

 NSMutableParagraphStyle *questionStyle = [[NSMutableParagraphStyle alloc] init]; questionStyle.firstLineHeadIndent = 19; questionStyle.headIndent = 41; NSDictionary *questionAttributes = @{ NSParagraphStyleAttributeName: questionStyle, NSFontAttributeName: [UIFont systemFontOfSize: 20] }; NSMutableParagraphStyle *answerStyle = [questionStyle mutableCopy]; answerStyle.firstLineHeadIndent = questionStyle.headIndent; NSDictionary *answerAttributes = @{ NSParagraphStyleAttributeName: answerStyle, NSFontAttributeName: [UIFont systemFontOfSize: 16] }; NSMutableAttributedString *richText = [[NSMutableAttributedString alloc] init]; [richText appendAttributedString:[[NSAttributedString alloc] initWithString:questionText attributes:questionAttributes]]; [richText appendAttributedString:[[NSAttributedString alloc] initWithString:answerText attributes:answerAttributes]]; label.attributedText = richText; 

Prueba esto

 NSMutableParagraphStyle *paragraphStyle = [[NSParagraphStyle defaultParagraphStyle] mutableCopy]; paragraphStyle.alignment = NSTextAlignmentLeft; [self.titleString drawWithRect:CGRectMake(xOffset, yOffset, titleLabelSize.width, titleLabelSize.height) options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingTruncatesLastVisibleLine attributes:@{ NSParagraphStyleAttributeName:paragraphStyle} context:nil]; 

Una posibilidad:

  • Use un NSAttributedString con un NSParagraphStyle personalizado. La sangría de la primera línea puede ser diferente de las otras líneas (margen izquierdo).

Otra posibilidad:

  • Usa una vista web. Lo que describes es fácil de configurar usando CSS.