iPhone+UITableView+altura de fila
height row (6)
Estoy configurando la altura de fila de mi UITableView
usando el siguiente código
[tableView setRowHeight: 100.00];
Estoy usando una sola línea como separador en UITableView
.
A pesar de establecer la altura anterior, la altura de la fila no cambia.
No creo que exista ese método en UITableView ...
En su lugar, puede usar la propiedad rowHeight ...
Pruebe, tableView.rowHeight = 100;
La altura de la fila se cuece en las celdas cuando se muestran por primera vez.
¿Configuró UITableView # rowHeight antes de configurar la fuente de datos?
Si no, hazlo.
Si por algún motivo no puede, su otra opción es llamar a UITableView # reloadData después de establecer el alto de la fila.
La mejor y más limpia solución es implementar la función de delegado (tal vez no sea la mejor si su UITableView tiene muchas filas ...).
Además, piense que UITableVieCell es UIView para que pueda cambiar su altura en primer lugar ...
Los delegados son muy poderosos en el desarrollo de iPhone, aquí el UITableViewDelage:
También puede cambiar indentForRow, displayCellForRow, heightForRow, editar cosas ...
Debe evitar heightForRowAtIndexPath
si todas sus filas son de una altura similar y usa la propiedad rowHeight
. De acuerdo con la documentación:
Hay implicaciones de rendimiento para usar tableView: heightForRowAtIndexPath: en lugar de rowHeight. Cada vez que se muestra una vista de tabla, llama a tableView: heightForRowAtIndexPath: en el delegado para cada una de sus filas, lo que puede dar como resultado un problema de rendimiento significativo con vistas de tabla con un gran número de filas (aproximadamente 1000 o más).
En la subclase UITableViewController podría hacerse, por ejemplo, en el método viewDidAppear
(el UITableViewController
tiene una referencia a tableView):
self.tableView.rowHeight = 79.f;
Deberías implementar
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
método delegado. y devuelve 100.0 allí.
Me gustó esto, aquí tableobj
no es más que objeto UITableView
en mi aplicación.
- (void)viewDidLoad
{
[super viewDidLoad];
[tableObj setRowHeight:100.0f];
}
O manejarlo en numberOfRowsInSection:
como:
- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
[tableObj setRowHeight:100.0f];
return [soandso count]; // soandso is my object
}
Porque establece rowHeight
antes de configurar la fuente de datos. Funcionó para mí (para alturas de fila iguales).