2011-05-08 10 views
5

Acabo de implementar un botón Cargar más en el pie de página de mi tableView, pero el pie de página siempre se desplaza con la tabla. El estilo de mi tableView es UITableViewStylePlain.TableView Footer se desplaza con la tabla

Por favor, podría decirme dónde me estoy equivocando.

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { 
    UIView *footerView = nil; 
    if(footerView == nil) { 
     footerView = [[[UIView alloc] init] autorelease]; 
     footerView.backgroundColor = [UIColor clearColor]; 
     UIButton *button = [[UIButton alloc] init];  
     button.layer.cornerRadius = 7; 
     [button setFrame:CGRectMake(10, 3, 300, 44)]; 
     [button setTitle:@"Load 20 more" forState:UIControlStateNormal]; 
     [button.titleLabel setFont:[UIFont boldSystemFontOfSize:20]]; 
     [button setBackgroundColor:[UIColor whiteColor]]; 
     [button.titleLabel setTextColor:[UIColor blackColor]]; 
     [button addTarget:self action:@selector(load20More) forControlEvents:UIControlEventTouchUpInside]; 
     [footerView addSubview:button]; 
     [button release]; 
    } 
    if ([songInfo count] > 20 && count < 100) { 
     return footerView; 
    } 
    else 
     return nil; 
} 
+0

¿Qué le gustaría que ocurra al presionar cargar más? – Cyprian

+0

Cargar más funciona a la perfección, y no tendría ningún efecto en el desplazamiento del pie de página de tableView con la tabla. –

Respuesta

24

En primer lugar, tableView:viewForFooterInSection no define un pie de página de la tabla, se define un pie de página de la sección en la tabla. Puede tener varios pies de página en una tabla. En el caso de que su tabla sea solo una sección, usar este método será funcionalmente equivalente a agregar un pie de tabla, pero NO debe ser el pie de página de la tabla. Es una práctica mucho mejor usar el pie de tabla actual si eso es lo que desea, lo que se puede lograr simplemente asignando una vista a la propiedad UITableView de tableFooterView.

Sin embargo, los pies de tabla (pies de página de sección Y pies de tabla) están diseñados para desplazarse con la tabla. Si está buscando implementar un "pie de página" que se adhiera a la parte inferior de la pantalla y no se desplace con la tabla, su mejor opción es redimensionar su UITableView más pequeño para dejar espacio para su "pie de página" y agregar una nueva vista a siéntate en el lugar que acabas de despejar. De esta forma, se mantendrá en su lugar, y la región desplazable en su tabla no se superpondrá con el "pie de página".

+0

¿Cómo cambio el tamaño de UITableView cuando uso un guión gráfico? ¿Se refiere a cambiar el tamaño en el código, en el xib o en el editor de guiones gráficos? – Teevus

+0

Me refería al cambio de tamaño en el código. No uso xib o storyboards, tendrás que preguntarle a alguien más. – thefugal

+0

Esto es absolutamente correcto – Jesse

Cuestiones relacionadas