2010-07-28 13 views

Respuesta

59

Es posible que desee ser más específicos próxima vez que se hace una pregunta.

Usted puede intentar asignar una etiqueta diferente para cada botón en el constructor de interfaces (o la misma etiqueta si eso es lo que necesita) y luego usar el siguiente código

for (int i = 1 ; i<=10;i++) 
{ 
    UIButton *myButton = (UIButton *)[myView viewWithTag:i]; 
    [myButton setTitle:@"my text" forState:UIControlStateNormal]; 
} 
+1

Esto es exactamente lo que estoy buscando ... una pregunta myview sería instancia de archivo xib? – user401383

+0

Supongo que su NIB es para un UIViewController, por lo tanto, si este código está dentro del código UIViewController, myView debe verse en –

+0

o más precisamente, myView debe ser la vista principal de sus botones – Vladimir

1

Creo que se podría crear una colección de botones desde su diseño:

seleccione el primer botón de su xib y se arrastra con el botón derecho en su código: Drag firs button

, debe seleccionar "Outlet Collection" para la conexión tipo y asignar un nombre:

select Outlet collection

Luego, en su código que tiene una serie de botones de su archivo xib:

@property (strong, nonatomic) IBOutletCollection(UIButton) NSArray *buttons; 

A continuación seleccionar y arrastrar los otros botones sobre la colección creada, hacer uno por uno en el orden en que desea iterarlos: Drag the other buttons

Puede verificar el orden de los botones en el inspector de conexiones que se cierne sobre la matriz que ha creado: check button order

Ahora cada juego texto del botón:

for (int i = 0; i<self.buttons.count; i++) { 
    UIButton * button = self.buttons[i]; 
    [button setTitle: [NSString stringWithFormat:@"Button %d",i ] forState:UIControlStateNormal]; 
} 

Tenga en cuenta que UIControlStateNormal es el estado por defecto y si no se reemplaza, se mostrará para todos los estados:

En general, si una propiedad no se especifica para un estado, el valor predeterminado es usar el valor UIControlStateNormal. Si el valor de UIControlStateNormal no está establecido, la propiedad se establece de forma predeterminada en un valor del sistema. Por lo tanto, como mínimo, debe establecer el valor para el estado normal.

Yo espero que ayude