ios ios6 uitableview uirefreshcontrol

ios - El contenido de la vista de tabla salta hacia abajo cuando se usa UIRefreshControl y se configura contentInset



ios6 uitableview (1)

Así que tengo la subclase estándar de UITableViewController con vista de tabla. Ahora he establecido el contenido del recuadro para

self.tableView.contentInset = UIEdgeInsetsMake(40, 0, 0, 0);

También estoy usando UIRefreshControl de manera estándar.

self.refreshControl = [[CTRefreshControl alloc] init]; [self.refreshControl addTarget:self action:@selector(loadData:) forControlEvents:UIControlEventValueChanged];

Todo funciona bien y sin problemas si la vista de tabla contiene suficientes datos que desplaza (por lo que la altura del tamaño del contenido es mayor que la altura de la vista de tabla). Cuando no hay suficientes datos en la tabla (p. Ej., Solo 2 filas), cuando empiezo a desplegar, todo transcurre sin problemas y, de repente, salta unos 20 puntos hacia abajo. Lo mismo sucede cuando me desplazo en otra dirección. No ocurre cuando no hay control de actualización o cuando no cambio contentInset. ¿Algunas ideas? Todo en iOS 6.


Debes poner el cambio de contentInset en un bloque de animación como este ...

[UIView animateWithDuration:0.2 delay:0.0 options:UIViewAnimationOptionCurveEaseInOut animations:^{ self.tableView.contentInset = UIEdgeInsetsMake(40, 0, 0, 0); } completion:nil];

(Escrito desde la memoria, por lo que es posible que deba verificar la finalización del código).

Esto debería solucionar tu problema.