2009-08-23 17 views

Respuesta

2

Puede implementar los delegados de vista de tabla tableView:willBeginEditingRowAtIndexPath: y tableView:didEndEditingRowAtIndexPath: para averiguar cuándo una fila determinada (y por lo tanto la tabla) entra y sale del modo de edición, respectivamente.

A partir de ahí, puede ajustar el valor de la propiedad frame.size.height de la vista de tabla (opcionalmente dentro de un bloque de animaciones UIView) según corresponda. También puede ser útil verificar la propiedad editing de la vista de tabla como un todo dentro de los métodos de delegado, en caso de que reciba varias llamadas para delegar el método antes de recibir llamadas a sus métodos complementarios.

Más información:

5

Es necesario establecer los límites de la tableview:

CGRect tvbounds = [tableView bounds]; 
[tableView setBounds:CGRectMake(tvbounds.origin.x, 
           tvbounds.origin.y, 
           tvbounds.size.width, 
           tvbounds.size.height + 20)]; 
13

Encontré que manipular la propiedad "bounds" puede provocar un comportamiento inesperado cuando tienes una tabla flotante dentro de otra vista. Algunas veces, la tabla se expande hacia arriba al aumentar la altura, aunque el origen todavía sea 0,0.

La propiedad "marco" podría ser más eficaz:

CGRect tvframe = [tableView frame]; 
[tableView setFrame:CGRectMake(tvframe.origin.x, 
           tvframe.origin.y, 
           tvframe.size.width, 
           tvframe.size.height + 20)]; 
Cuestiones relacionadas