Tengo dificultades para animar la eliminación del contenido del encabezado/pie de página de una tabla con animación. Creo que puedo llamar a removeFromSuperview en el contenido del encabezado, o simplemente asignar el encabezado a cero, pero no sé cómo animarlo. Un simple bloque de animación no hace nada: ¿cómo puedo desvanecer una vista (una etiqueta en este caso) dentro/fuera?Animar un encabezado y pie de página de UITableView
Respuesta
Escribí un ejemplo de cómo eliminar completamente la vista de encabezado usando bloques de animación.
[UIView beginAnimations:nil context:NULL];
[self.tableView setTableHeaderView:nil];
[UIView commitAnimations];
Por supuesto, esto supone que esta animación está llamado interior de su clase UITableViewController.
Simplemente eliminar la vista de encabezado de la supervista no funciona porque la vista de tabla no sabe redimensionarse para llenar lo que solía ser la vista de encabezado. La configuración de la vista de encabezado hace que la vista de tabla se actualice de forma animada.
Si esto no funciona, verifique su (s) asignación (es) de la instancia de tableView.
He encontrado las siguientes dos opciones a ambos trabajan bien:
opción 1
[UIView animateWithDuration:0.15
delay:0.0
options: UIViewAnimationCurveEaseOut
animations:^{deleteLabel.alpha = 0;}
completion:nil];
opción 2
[UIView beginAnimations:nil context:nil];
deleteLabel.alpha = 0.0;
[UIView commitAnimations];
Solo una nota menor para cualquiera que siga esto, la opción anterior debe ser UIViewAnimationOptionCurveEaseOut –
Este es un trabajo perfectamente "tal cual", y no lo hago cuidado sobre la animación
[myPrettyViewControllerInstance letUpdatePrettyViewNow];
[[self tableView] beginUpdates];
[[self tableView] setTableHeaderView:[myPrettyViewControllerInstance view]];
[[self tableView] endUpdates];
pero si nos no necesitamos más
[[self tableView] setTableHeaderView:nil];
eso es todo lo que necesitamos, realmente (si no Fadeout - verificar las condiciones de la
[[self tableView] setTableHeaderView:nil];
y no necesitamos
[UIView beginAnimations:nil context:NULL];
[[self tableView] setTableHeaderView:nil];
[UIView commitAnimations];
nop
[[self tableView] beginUpdates];
[[self tableView] setTableHeaderView:nil];
[[self tableView] endUpdates];
nop
[[self tableView] setTableHeaderView:nil];
[[self tableView] reloadData];
noo ..
Esto funciona para las celdas, pero no para los encabezados de tabla. – Gujamin
Lo sentimos, pero funciona para encabezados (no sé sobre celdas). Lo uso en mi proyecto reciente y todo está trabajado. ¿Puedes proporcionar el código fuente? – WINSergey
No funcionó para insertar una vista de encabezado de tabla. Uso de guiones gráficos y diseño automático. La vista solo aparece. No animar en – Gujamin
que terminó con la siguiente solución simple. Anima la eliminación del encabezado.
[self.tableView beginUpdates];
self.tableView.tableHeaderView = nil;
[self.tableView endUpdates];
que se dan cuenta de esto se menciona en la respuesta de WINSergey, pero me pareció que su explicación un poco confuso.
que tenían el mismo problema, quería controlar cómo se elimina la cabecera, aquí está mi método:
En viewDidLoad:
UIView *transView = [[UIView alloc] initWithFrame:CGRectMake(0.f, 0.f, 320.f, 200.f)];
transView.backgroundColor = [UIColor clearColor];
self.headerView = transView;
[transView release];
[self.tableView setTableHeaderView:self.headerView];
Luego, cuando es necesario eliminar cabecera:
[UIView animateWithDuration:.3f
delay:.0f
options: UIViewAnimationOptionBeginFromCurrentState
animations:^{
self.headerView.frame = CGRectMake(0.0f, 0.0f, 320.f, 0.0f);
}
completion:^(BOOL finished) {
[tableView scrollToRowAtIndexPath:[NSIndexPath indexPathForItem:0 inSection:section] atScrollPosition:UITableViewScrollPositionTop animated:YES];
}];
Tuve que poner 2 animaciones para que funcionase.
[UIView animateWithDuration:2.0f animations:^{
mylbl.alpha = 0.1 ;
} completion:^(BOOL finished) {
[UIView animateWithDuration:2.0f animations:^{
mylbl.alpha = 1.0 ;
}];
}];
- 1. UITableView encabezado/pie de página color
- 2. encabezado y pie de página y freemarker
- 3. Encabezado y pie de página XSL FO
- 4. listview con encabezado y pie de página
- 5. Crear un encabezado/pie de página PHP
- 6. ¿Cómo eliminar el espacio del encabezado y el pie de página desde un UITableView?
- 7. Encabezado y pie de página personalizados en la página html
- 8. Capacidades de impresión de encabezado HTML y pie de página
- 9. Configuración de un pie de página básico en una UITableView
- 10. android listviews: vistas de encabezado y pie de página
- 11. Contenido con 100% entre encabezado y pie de página
- 12. encabezado y pie de página en gambas PDF
- 13. Encabezado, pie de página y tablas grandes con iTextSharp
- 14. Cambiando o eliminando encabezado y pie de página en TCPDF
- 15. ¿Cómo acceder al pie de página o al encabezado de una sección específica en UITableView?
- 16. UITableView Sección Pie de página se superpone al desplazarse
- 17. alinear el texto de pie de página de UITableView
- 18. scrollVer y pie de página en Android
- 19. Agregando encabezado y pie de página con número de página en dompdf
- 20. TCPDF - Tener pie de página/encabezado en determinadas páginas solo
- 21. Cómo animar el cambio de altura de un encabezado de sección en UITableView?
- 22. ¿Hay alguna manera de obtener un encabezado/pie de página web impreso en cada página?
- 23. Encabezado y pie de página fijo en la versión móvil de un sitio web
- 24. Un pie de página y encabezado de varias líneas en el informe
- 25. platillo volante encabezado piel y pie de página en la primera página
- 26. Cómo cambiar el encabezado de sección/pie de página de UITableView sin volver a cargar toda la vista de tabla
- 27. ¿Cómo pegar un pie de página al pie en css?
- 28. ¿Cómo uso un patrón de fecha en un encabezado/pie de página?
- 29. cómo mantener fijo el encabezado y el pie de página de jquery mobile?
- 30. Cómo crear div para llenar todo el espacio entre div de encabezado y pie de página
¿Está utilizando una instancia UITableViewController, UITableViewDelegate o UITableViewDataSource o alguna otra clase de controlador de vista? Si está utilizando un UITableViewDataSource, debe usar la sección tableView: (UITableView *) tableView titleForHeaderInSection: (NSInteger) para eliminar pragmáticamente los encabezados y tableView: (UITableView *) tableView titleForFooterInSection: (NSInteger) sección para eliminar los pies de página mediante programación. –
Estoy usando un controlador de tabla de vista. Solo para aclarar, quiero desvanecer la vista de encabezado de la tabla, no el encabezado de sección –