Lo que necesita es un UITableViewController
normal (para que obtenga todo el comportamiento de la celda estática) y luego su vista como una subvista de la vista de tabla, pero administrada de manera que siempre se quede en la parte inferior de la pantalla. Apple demostró esto como WWDC. Esto es lo que hago (en mi ejemplo, tengo un UIDatePicker
que siempre quiero anclado en la parte inferior):
En viewDidLoad
, crear su punto de vista y añadirla como una vista secundaria de la vista de tabla. Colóquelo en la parte inferior de la vista de tabla.
[self.tableView addSubview:self.datePicker];
[self updateDatePickerBounds];
Implementar scrollViewDidScroll
de modo que usted puede forzar su vista a la parte inferior de la pantalla nunca tiempo de la vista de tabla se desplaza:
- (void) scrollViewDidScroll:(UIScrollView *)scrollView
{
// Keep the date picker floating above the table view, anchored to the bottom of the view
[self updateDatePickerBounds];
}
y luego implementar una función que posiciona a la vista correctamente:
- (void) updateDatePickerBounds
{
// Keep the date picker floating above the table view, anchored at the bottom
CGRect tableBounds = self.tableView.bounds;
CGRect pickerFrame = self.datePicker.frame;
pickerFrame = CGRectMake(tableBounds.origin.x,
tableBounds.origin.y + CGRectGetHeight(tableBounds) - CGRectGetHeight(pickerFrame),
tableBounds.size.width,
pickerFrame.size.height);
self.datePicker.frame = pickerFrame;
}
Por último, si no desea que su vista de tabla vaya por debajo de su vista inferior, simplemente configure la vista de tabla contentInset
para que coincida con la h ocho de tu punto de vista.
También llamo a mi método updateDatePickerBounds
de viewWillAppear
. Olvidé por qué tuve que hacer eso.
El pie de página solo está visible cuando estás en la parte inferior de la tabla, ¿correcto? Necesito que esta vista esté visible todo el tiempo. – lnafziger
¡Gran solución! Puede agregar una UIView normal antes o después de una sección de vista de tabla que es básicamente lo mismo que integrarla al revés y realmente funciona. –