Pregunta

Estoy configurando el alto de fila de mi UITableView usando el siguiente código

[tableView setRowHeight: 100.00];

Estoy usando la línea única como separador en el UITableView .

A pesar de establecer la altura de arriba, la altura de la fila no cambia.

¿Fue útil?

Solución

Deberías implementar

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath

método delegado. y devolver 100.0 allí.

Otros consejos

Debe evitar la heightForRowAtIndexPath si todas sus filas tienen una altura similar y utiliza la propiedad rowHeight . De acuerdo con la documentación:

  

Hay implicaciones de rendimiento al 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 resultar en un problema de rendimiento significativo con vistas de tabla que tienen un gran número de filas (aproximadamente 1000 o más).

En la subclase UITableViewController se podría hacer, por ejemplo, en el método viewDidAppear (el UITableViewController tiene una referencia al tableView):

self.tableView.rowHeight = 79.f;

La altura de la fila se cuece en las celdas cuando se muestran por primera vez.

¿Estableció UITableView # rowHeight antes de configurar la fuente de datos?
Si no, hazlo.
Si por alguna razón no puede, su otra opción es llamar a UITableView # reloadData después de configurar la altura de la fila.

Me gustó esto, aquí tableobj no es más que el objeto UITableView en mi aplicación.

- (void)viewDidLoad
{
    [super viewDidLoad];
    [tableObj setRowHeight:100.0f];
}

O manipúlelo en numberOfRowsInSection: como:

- (NSInteger)tableView:(UITableView *)tblView numberOfRowsInSection:(NSInteger)section {
    [tableObj setRowHeight:100.0f];
    return [soandso count]; // soandso is my object
}

Porque establezca el rowHeight antes de configurar la fuente de datos. Funcionó para mí (para alturas de fila iguales).

La solución mejor y más limpia es implementar la función de delegado (Quizás no sea la mejor si su UITableView tiene muchas filas ...).

Además, piense que UITableVieCell son UIView para que pueda cambiar su altura en primer lugar ...

Los delegados son muy poderosos en el desarrollo de iPhone, aquí el UITableViewDelage:

http://developer.apple .com / iphone / library / documentation / uikit / reference / UITableViewDelegate_Protocol / Reference / Reference.html

También puede cambiar indentForRow, displayCellForRow, heightForRow, editar cosas .....

No creo que haya tal método en UITableView ...

En su lugar, puede usar la propiedad rowHeight ...
Tratar, tableView.rowHeight = 100;

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top