2010-11-08 13 views
10

Sé que esto tiene que ser una pregunta muy simple, pero tengo problemas para encontrarlo en un lugar simple donde no hay tantas otras cosas que suceden que pueda aislar el comportamiento específico.Edición in situ de texto en UITableViewCell?

Sé que necesito agregar un UITextField como subvista al UITableViewCell para hacerlo editable. ¿Cuál es la mejor manera de hacer esto? (Veo un ejemplo en UICatalog, pero estoy confundido con todas las cosas adicionales que está haciendo con el Diccionario).

Nuevamente, disculpe el desconocimiento de esta pregunta. Un puntero al código de muestra o un screencast sería muy apreciado.

Gracias de antemano,

Alan

Respuesta

1

Puede personalizar tu UITableViewCell y poner lo que quieras en ella. Entonces simplemente tiene que usarlo en su UITableView. Si está preocupado acerca de qué usar como delegado UITextField para su campo de texto para administrar todos los métodos delegados, en mi humilde opinión lo pondré en UIViewController que maneja la UITableView, para que pueda actualizar el DataSource una vez que el campo de texto haya sido editado .

4

Primero, defina UITextField.

txtField=[[UITextField alloc]initWithFrame:CGRectMake(5, 5, 320, 39)]; 
txtField.autoresizingMask=UIViewAutoresizingFlexibleHeight; 
txtField.autoresizesSubviews=YES; 
txtField.layer.cornerRadius=10.0; 
[txtField setBorderStyle:UITextBorderStyleRoundedRect]; 
[txtField setPlaceholder:@"Type Data Here"]; 

luego escribir el código de abajo en cellForRowAtIndexPath método

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *CellIdentifier = @"CellIdentifier"; 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) 
    { 
     cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
     cell.accessoryType = UITableViewCellAccessoryNone; 
    } 
    [cell addSubview:txtField]; 
    return cell; 
} 
+4

no se debe añadir la subvista dentro de la sentencia if para que pueda ser parte de la desencola de las células? –

Cuestiones relacionadas