Yo no se puede establecer el título de UIButton uso de bi como centro. Mi título es multi línea.
Se está dando como este
Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

Pero quiero como este
Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

Me han dado espacio en esto, pero no quiero hacer eso. Como no se alinea exactamente para algunos casos y sé que no es una propiedad de UILabel para establecer la alineación, pero no quiero escribir un código para que.. solo quiero poner todo de IB.

Gracias

  • Kumar Rathor – try del código self.yourButton.titleLabel.textAlignment = UITextAlignmentCenter;
  • Yo sé cómo hacerlo por código, pero lo que yo quería es establecer el uso de ‘IB’.
  • Yo sé, te gustaría configurarlo usando IB. Pero dicha propiedad sólo es accesible a través de código.
  • Es accesible a través de IB, por lo que es atribuido, pero a quién le importa!
  • sí tienes razón, stackoverflow.com/a/5865500/468724
  • Usted puede también usar el «Salto de Línea» de la propiedad

15 Comentarios

  1. 182

    Esto hará exactamente lo que estaban esperando:

    Objective-C:

     [myButton.titleLabel setTextAlignment:UITextAlignmentCenter];

    Para iOS 6 o superior es

     [myButton.titleLabel setTextAlignment: NSTextAlignmentCenter];

    como se explica en tyler53 la respuesta

    Swift:

    myButton.titleLabel?.textAlignment = NSTextAlignment.Center
    • Se ha convertido en NSTextAlignment en las últimas versiones de iOS.
    • atc código no funciona, la mejor respuesta es @joetjah myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
    • La pregunta menciona explícitamente el IB, como en Interfaz. Este es no la respuesta correcta, ya que se requiere de la codificación.
    • Swift 4: myButton.titleLabel?.textAlignment = .centro de
    • ‘Centro’ ha sido renombrado a ‘centro’
  2. 103

    El uso de la línea:

    myButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;

    Esto debe centrar el contenido (de forma horizontal).

    Y si desea establecer el texto dentro de la etiqueta para el centro, uso:

    [labelOne setTextAlignment:UITextAlignmentCenter];

    Si quieres usar IB, tengo un pequeño ejemplo de lo que está vinculado en XCode 4, pero debe proporcionar suficiente detalle (también de la mente, en la parte superior de que las propiedades de la pantalla se muestra la ficha del inmueble. Usted puede encontrar las mismas fichas en XCode 3.x):
    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

    • Que establece la etiqueta de la alineación al centro, pero no en su texto..
    • Kumar Rathore: ver editar 😉
    • gracias…pero no quiero establecer a través de IB. 🙁 que es mi última opción de hacer que…
    • Kumar Rathore: No hay problema. Para poner en IB, debe hacer clic en la etiqueta, a continuación, en los Atributos del Inspector, establecer la Alineación para el «Centro». En mi IB (XCode 4), cuenta con 3 iconos para indicar la alineación del texto. Obviamente, usted debe escoger el medio entonces.
    • puede usted por favor enviar la captura de pantalla… Es esta la etiqueta del Botón o tiene draged la UILabel de la biblioteca??? Supongo que UILabel no botón de la etiqueta del
    • Kumar Rathore: Hey, echa un vistazo a la captura de pantalla que he añadido. En efecto, he confundido con el tipo de etiquetas que usted use, yo todavía estaba pensando en UILabel en lugar del texto en UIButton. La captura de pantalla muestra cómo alinear en la UIButton a través de IB.
    • Sí lo he hecho, pero simplemente alinee el botón del contenido…. 🙁 prueba multi título de la línea usted encontrará que…
    • UITextAlignmentCenter ha quedado obsoleta. Uso NSTextAlignmentCenter ahora.
    • Siéntase libre de añadir la explicación, yo no estoy trabajando activamente con Objective-C o el desarrollo de iOS más.
    • No me deja editar, pero NSTextAlignmentCenter ha tomado el lugar de UITextAlignmentCenter. Que significan exactamente la misma cosa tho. developer.apple.com/library/iOS/documentation/UIKit/Reference/…

  3. 83

    Solución 1

    Puede establecer la ruta de la clave en el guión gráfico

    Fija el texto de su multilínea título por ejemplo, hello + multiline

    Usted necesita presionar + para mover el texto a la línea siguiente.

    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

    A continuación, agregue la ruta de la clave

    titleLabel.textAlignment como Number y valor 1, 1 significa NSTextAlignmentCenter

    titleLabel.numberOfLines como Number y valor 0, 0 significa cualquier número de líneas

    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

    Esto no se refleja en IB/Xcode, pero será en el centro en tiempo de ejecución (dispositivo/simulador)

    Si quieres ver los cambios en Xcode, usted necesita hacer lo siguiente: (recuerde que usted puede omitir estos pasos)

    1. Subclase de la UIButton para hacer que el botón con diseños:

      import UIKit
      @IBDesignable class UIDesignableButton: UIButton {}

    2. Asignar este diseño de la subclase a los botones que se está modificando:

    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

    1. Iff hecho a la derecha, verá la actualización visual en IB cuando el Designables estado que «Hasta la fecha» (que puede tomar varios segundos):

    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB


    Solución2

    Si desea escribir el código, a continuación, hacer el largo proceso de

    1.Crear IBOutlet botón

    2.Escribir código en viewDidLoad

    btn.titleLabel.textAlignment = .Center
    btn.titleLabel.numberOfLines = 0

    Solution3

    En la nueva versión de xcode (el mío es de xcode 6.1) hemos propiedad atribuida título

    Seleccione Attributed, a continuación, seleccione el texto y pulse el centro de la opción de abajo

    P. S. El texto no iba a venir de varias líneas para que tengo para

    btn.titleLabel.numberOfLines = 0

    Cómo hacer UIButton la alineación del texto en el centro? El uso de IB

    • Para la solución 3, usted puede agregar Line Breaking = Clip, va a transformar el texto de líneas múltiples
  4. 26

    Para UIButton que se debe utilizar:-

    [btn setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
  5. 16

    Para ios 8 y Swift

    btn.titleLabel.textAlignment = NSTextAlignment.Center

    o

    btn.titleLabel.textAlignment = .Center

    • btn.titleLabel.textAlignment = .El centro también funciona
  6. 12

    Para aquellos de ustedes que están ahora con iOS 6 o superior, UITextAlignmentCenter ha quedado obsoleta. Ahora es NSTextAlignmentCenter

    EJEMPLO: mylabel.textAlignment = NSTextAlignmentCenter; Funciona a la perfección.

  7. 9

    Para swift 4, xcode 9

    myButton.contentHorizontalAlignment = .center
    • Me puse myButton.titleLabel?.numberOfLines = 0 y causó la etiqueta en el botón del centro, por lo que yo estaba tratando de averiguar cómo alinear el texto a la izquierda en el botón y esta trabajado, si se establece .a la izquierda, sin embargo.
  8. 7

    Suponiendo que btn se refiere a un UIButton, a cambio de un multi-línea de título que se centra horizontalmente, puede utilizar la siguiente instrucción en iOS 6 o posterior:

    self.btn.titleLabel.textAlignment = NSTextAlignmentCenter;
  9. 4

    UITextAlignmentCenter está en desuso en iOS6

    Lugar usted puede utilizar este código:

    btn.titleLabel.textAlignment=NSTextAlinmentCenter;

    • No hay ninguna propiedad para UIButton destinatario textAlignment.
    • No hay tal propiedad para UIButton en iOS
    • Él se refiere a botón.titleLabel.textAlignment
  10. 3

    Realmente puede hacerlo en el interface builder.

    Debe establecer el Título de «Atribuida» y, a continuación, elija el centro de la alineación.

    • Si se le atribuye no podemos establecer la textcolor, fuente, etc a través de Guión gráfico.
  11. 2

    Tratar Como este :

    yourButton.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    yourButton.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
  12. 1

    UIButton no apoyo setTextAlignment. Así que tienes Que ir con setContentHorizontalAlignment para el texto de los botones de alineación

    Para su referencia

    [buttonName setContentHorizontalAlignment:UIControlContentHorizontalAlignmentCenter];
  13. 1

    Usted puede hacer esto desde el storyboard.
    Seleccione el botón. Conjunto Salto de Línea ‘ajuste’, Establece el título ‘Llanura’ a ‘Atribuir’.
    Seleccione «Centro de alineación». Esta parte es importante => haga Clic en …(Más) Botón. Y seleccione la línea de rotura de modo que el Carácter ‘Wrap’.

  14. 1

    Para Swift 4:

    @IBAction func myButton(sender: AnyObject) {
        sender.titleLabel??.textAlignment = NSTextAlignment.center
        sender.setTitle("Some centered String", for:UIControlState.normal)
    }

Dejar respuesta

Please enter your comment!
Please enter your name here