Quiero mostrar un UIButton en un pie de página de UITableView (debe ser exactamente el mismo para el encabezado).UITableView tableFooterView cambio de tamaño extraño
Este código se encuentra en la viewDidLoad de mi TableViewController:
UIButton *footerShareButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[footerShareButton setFrame:CGRectMake(10, 0, 70, 50)];
NSLog(@"%f", footerShareButton.frame.size.width);
[self.tableView setTableFooterView:footerShareButton];
NSLog(@"%f", footerShareButton.frame.size.width);
NSLog(@"%f", self.tableView.tableFooterView.frame.size.width);
Sin embargo, este código no funciona. El ancho del botón es demasiado grande, es 320. (Sin embargo, la altura es correcta). El primer NSLog da salida a 70, el segundo y el tercero a 320. Por lo tanto, parece que el método setTableFooterView extrañamente cambia el tamaño del botón.
He resuelto este problema poniendo el UIButton en otro UIView antes de establecerla como el pie de tabla:
UIButton *footerShareButton = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[footerShareButton setFrame:CGRectMake(10, 0, 70, 50)];
UIView *aView = [[UIView alloc] initWithFrame:CGRectMake(10, 0, 70, 50)];
[aView addSubview:footerShareButton];
[self.tableView setTableFooterView:aView];
[aView release];
Esto funciona, el botón tiene la anchura correcta.
Sin embargo, no entiendo por qué la primera muestra de código no funciona. ¿Alguien puede explicar?
Sí, eso es todo, lo hace cambiar el tamaño de la vista creé así, simplemente no me di cuenta. Gracias. Creo que debería mencionarse en los documentos que establecer la propiedad tableFooterView cambia el tamaño de la vista, eso me habría ahorrado algo de tiempo. – avf