Tengo un UITableView con 3 secciones. Cada uno de ellos tiene un pie de página que agregué usando viewForFooterInSection. El problema que tengo es que cuando deslizo hacia abajo la vista de tabla, el pie de página se pega a la parte inferior de la pantalla y no se desplaza como el resto de las celdas. ¿Alguien sabe cómo hacerlo así que el pie de página casi actúa como una celda, y se desplaza junto con el resto de la mesa? ¡Gracias!iOS - viewForFooterInSection pegado a la parte inferior de UITableView
Respuesta
De hecho, lo descubrí. Probablemente no sea la forma más inteligente de hacerlo, pero cambié mi estilo UITableView por agrupado, y eso lo solucionó. Tuve que modificar un poco el TableView para que las celdas tuvieran el mismo aspecto que si no estuvieran agrupadas (fondo claro, sin separadores), pero funcionó bien. El pie de página ya no se pega a la parte inferior de TableView.
Una forma de evitar esto es si se establece el pie de página como una de las células como la última celda en la vista de desplazamiento (que se podría hacer, pero configurándolo como el último elemento de la matriz que configura el pto de)
Se supone que los pies de página se pegan. El truco es agregar una celda extra a cada sección y renderizar el pie de página allí. Si necesita más ayuda, agregue un comentario, pero debería ser bastante sencillo.
EDITS:
Q: bien. Estoy usando Core Data y NSFetchedResultsController para completar TableView. ¿Eso lo haría más complicado para lograr esto?
A: No, en absoluto. Anulan
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
Para añadir una celda adicional en cada sección, y en
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
prueba si el indexPath.row> de filas de su fetchedResultsController para esa sección. Si es verdadero, agregue su celda que muestra la información del pie de página.
Bien. Estoy usando Core Data y NSFetchedResultsController para completar TableView. ¿Eso lo haría más complicado para lograr esto? – mhbdr
No, en absoluto.Anular - (NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: Sección (NSInteger) Para añadir una celda adicional en cada sección, y - (UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath prueba si indexPath.row> supera las filas del control de resultados fetched para esa sección. Si es verdadero, agregue su celda que muestra la información del pie de página. –
Agregando una celda extra, haciéndola invisible, y renderizando su vista allí no es una forma recomendable de agregar un pie de página. Hacerlo correctamente es bastante recta hacia adelante:
- (UIView*)tableView:(UITableView*)tableView viewForFooterInSection:(NSInteger)section {
NSString* sectionFooter = [self tableView:tableView titleForFooterInSection:section];
UIView* view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, yourWidth, yourHeight)]; //create a view- the width should usually be the width of the screen
UILabel* label = [[UILabel alloc] initWithFrame:someFrame];
label.backgroundColor = [UIColor blueColor];
label.textColor = [UIColor whiteColor];
label.text = sectionFooter;
[view addSubview:label];
return view;
}
También tendrá que aplicar tableView: titleForFooterInSection: si desea añadir el texto como que tengo aquí.
Tu respuesta funciona para agregar un pie de página, pero ese pie de página quedará pegado en la parte inferior de la tabla, exactamente lo que no quería. – rsc
Tuve un problema similar cuando descubrí que mi código no funcionaba con el modo Paisaje, y solo funcionaba en el modo Retrato. En mi código anterior, cuando está en Paisaje, la vista de tabla no puede desplazarse más abajo que la vista visible y rebotó en la fila superior cuando se desplaza (no me deja ver las filas inferiores). Todo lo que tengo que cambiar es asegurarme de que la altura esté configurada en 44 como la altura de celda predeterminada. Entonces mi pie de página es básicamente otra celda con clearColor. Tenga en cuenta que mi aplicación utiliza 'AutoLayout'
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
{
CGRect screenBounds = [UIScreen mainScreen].bounds;
CGFloat width = screenBounds.size.width;
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, width, 44)];
view.backgroundColor = [UIColor clearColor];
UILabel *label = [[UILabel alloc] initWithFrame:view.frame];
label.text = @"Your Text";
[view addSubview:label];
return view;
}
- 1. Agregar celda a la parte inferior de UITableView en iOS
- 2. detectar si UITableView ha desplazado hasta la parte inferior
- 3. Línea blanca en la parte inferior de la celda UITableView al final de la sección en TableView agrupado (iOS 5)
- 4. Cambiar el tamaño de la altura de UITableView, y seguir desplazándose en la parte inferior
- 5. escala de transformación css3 pegar en la parte inferior
- 6. DIV adjunto a la parte inferior de la ventana
- 7. jQuery Desplazarse a la parte inferior de la página
- 8. Css alinear a la parte inferior de la página
- 9. Añadir contenido a la parte inferior de la última página
- 10. CSS Push Div a la parte inferior de la página
- 11. UITableView con un gradiente de transparente en la parte superior e inferior
- 12. UIWebView parte inferior
- 13. ¿Cómo determinar si el usuario se desplazó hasta la parte inferior de UITableView?
- 14. Bloquear elemento a la parte inferior de contener div
- 15. pestañas en la parte inferior de TabControl
- 16. Android: pestañas en la parte INFERIOR
- 17. Ventajas de cargar JS en la parte inferior en oposición a la parte superior del documento
- 18. jquery - detectar si la parte inferior de la div está tocando la parte inferior de la ventana del navegador?
- 19. Alineación del botón Android a la parte inferior en RelativeLayout?
- 20. Ponga Scripts en la parte inferior
- 21. panel autoscroll en la parte inferior
- 22. Cómo alinear div en la parte inferior de la página, no en la parte inferior de la pantalla
- 23. Cabecera de la sección UITableView iOS 5
- 24. ¿Cómo puedo obtener esas vistas pequeñas desde la parte inferior para que aparezcan en iOS SDK?
- 25. ¿Cómo determina GDB la parte inferior de la pila?
- 26. Eliminar duplicados de la parte inferior de la lista genérica
- 27. Cómo pegar texto en la parte inferior de la página?
- 28. JavaScript en la parte inferior de la página?
- 29. iOS cambia altura de uitableview
- 30. Obligar a un botón a permanecer en la parte inferior de la pantalla de un teléfono
Gracias amigo ... Además, necesito agregar la altura de la sección .. De lo contrario funciona bien .. –
Para ocultar el encabezado de sección que se muestra en el estilo UITableView "Agrupado", consulte https://stackoverflow.com/questions/ 19056428/how-to-hide-first-section-header-in-uitableview-grouped-style –