uitableviewcontroller uitableviewcell example custom iphone objective-c cocoa

iphone - uitableviewcell - Cabeceras de sección en UITableView cuando se cambia la inserción de tableview



uitableview swift 4 example (3)

He implementado un "Pull to refresh" en mi tableView como la aplicación de iPhone Twitter o Facebook.
Mi tableView tiene secciones con vistas principales. Cuando el tableView está en "Modo de actualización", por lo tanto, cuando levanté el tableView para actualizar, configuré el contentInset del tableView para mostrar el tableView de cierta manera. En este momento, si empujo la tabla Vista hacia arriba, los encabezados de la UITableView ya no estarán desplazándose hacia la parte superior de la UITableView. Vea las siguientes capturas de pantalla:

¿Cómo puedo solucionarlo para que los encabezados se desplacen como se esperaba?

¡Gracias!


Al hacer esto, normalmente uso el encabezado de toda la tabla en UITableView en su lugar:

@property(nonatomic, retain) UIView *tableHeaderView

... en lugar de contentInsets. Hubo muchos errores con contentInsets todo el camino de regreso a iOS 2.x días, y no estoy seguro de que todos hayan sido corregidos. ¿Hay alguna razón por la que no pueda usar un encabezado de tabla?


Intente de esta manera agregar controlador de vista push.

  • Cree un controlador de vista de tabla y agréguelo como la vista secundaria del controlador de vista existente.
  • Luego, asigne su vista de tabla y actualice los controladores a las propiedades del controlador de vista de tabla.

    UITableViewController *newTableViewController = [[UITableViewController alloc] init]; newTableViewControler.tableView = <yourTableView>; <yourRefreshController> = [[UIRefreshControl alloc] init]; [<yourRefreshController> addTarget:self action:@selector(refreshTableView:) forControlEvents:UIControlEventValueChanged]; newTableViewController.refreshControl = _chatListRefreshControl; [self addChildViewController:newTableViewController];


Tuve el mismo problema al usar contentInset y lo arreglé agregando código a scrollViewDidScroll: para actualizar el contentInset dinámicamente mientras estaba en el estado de "carga".

if( refreshState == kLoading ) { if( scrollView.contentOffset.y >= 0 ) scrollView.contentInset = UIEdgeInsetsZero; else scrollView.contentInset = UIEdgeInsetsMake( MIN( -scrollView.contentOffset.y, kPullHeight ), 0, 0, 0 ); }