2012-07-26 14 views

Respuesta

29

supongamos que tiene cuatro campos de texto con etiquetas 100 y así sucesivamente hasta 104. Usted Contador que muestra cuántas celdas tiene en la tabla vista.

for (int i=0; iLessThanCounter; i++) { 
            
     NSIndexPath *indexPath = [NSIndexPath indexPathForRow: i inSection: 0]; 
                
    UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath]; 
                
    for (UIView *view in  cell.contentView.subviews){                 
                    
          if ([view isKindOfClass:[UITextField class]]){ 
                        
                 UITextField* txtField = (UITextField *)view; 
                        
                 if (txtField.tag == 100) { 
                        NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text); 
                 } 
                 if (txtField.tag == 101) { 
                       NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text); 
                 } 
                 if (txtField.tag == 102) { 
                      NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text); 
                 } 
                 if (txtField.tag == 103) { 
                      NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text); 
                 } 
                 if (txtField.tag == 104) { 
                      NSLog(@"TextField.tag:%u and Data %@", txtField.tag, txtField.text); 

                 } // End of isKindofClass 
             } // End of Cell Sub View 
        }// Counter Loop 
    } 
+2

De esta manera se resolverá el propósito. Pero la mejor manera es hacerlo a través de los delegados. – manileo86

+0

Si tiene una gran cantidad de vistas dentro de la celda, este código será ambiguo. Está comprobando la etiqueta de forma concomitante en 'if conditions', incluso si no está utilizando' else if' o la mejor herramienta para este escenario 'switch statement'. Y si obtiene directamente la vista para una etiqueta específica, ¿por qué itera con un bucle? –

+0

@ manileo86 ayúdame me he enfrentado el mismo problema https://www.dropbox.com/s/lowbgnqzk05ej8d/Alert.zip – Siva

1

necesita crear una instancia para cada campo de texto en su archivo de encabezado. Mira esta demostración muestra

http://windrealm.org/tutorials/uitableview_uitextfield_form.php

Se puede acceder a la propiedad text del campo de texto para obtener el valor de texto de un campo de texto en particular

+0

I tener múltiples textFields en una celda, y también hay varias celdas, – Zubair

+0

para que pueda guardar referencias para todas ellas –

+0

una solución más es la solución anterior de Muhammad Junaid Sidhu que podría hacer el trabajo –

9

Usted puede simplemente utilizar viewWithTag para obtener sus vistas deseadas. Suponga que tiene una imageview con la etiqueta 100 y una vista de texto con la etiqueta 200.

UITableViewCell *cell = [mytableview cellForRowAtIndexPath:indexPath]; 

UIImageView *getImageView = (UIImageView*)[cell.contentView viewWithTag:100]; 
UITextField *getTextView = (UITextField*)[cell.contentView viewWithTag:200]; 
+0

lo he intentado pero no funciona ... – Siva

Cuestiones relacionadas