Quiero establecer la altura del primer encabezado en mi UITableView. Para los otros encabezados, quiero que mantengan la altura predeterminada. ¿Qué valor / constante puedo poner en lugar de "someDefaultHeight" en el código a continuación?
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
{
if (section == 0)
return kFirstHeaderHeight;
return someDefaultHeight;
}
Gracias
iphone
cocoa-touch
uitableview
rienda
fuente
fuente
Respuestas:
En IOS 5.0 en adelante, puede devolver UITableViewAutomaticDimension en la mayoría de los métodos de delegado. Está en la parte inferior de la página de documentación.
fuente
UITableViewAutomaticDimension
regresa-1
(const codificado) y no veo ninguna sección en miUITableView
.UITableViewAutomaticDimension
muestra -1 cuandoNSLog
?- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
si está implementando el- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
método, esto no funciona.UITableViewAutomaticDimension
tendrá una altura cero.viewForHeaderInSection
usted solo necesita configurarloestimatedSectionHeaderHeight
Al verificar los valores predeterminados en mi aplicación, parece que para una tabla agrupada el valor predeterminado es una altura de 22 y para una tabla no agrupada, el valor predeterminado es una altura de 10.
Si marca el valor de la propiedad sectionHeaderHeight en su vista de tabla, eso debería indicarle.
fuente
UITableViewStyleGrouped
tiene 22 años yUITableViewStylePlain
es 10.Realmente haz el truco :)
fuente
return [self.tableView sectionHeaderHeight];
, o mejor aún,return [tableView sectionHeaderHeight];
. Sin embargo, ambos devuelven -1 para mí, tal vez porque no estoy usando una punta o un guión gráfico.En aras de la integridad: en iOS7 + la altura de los encabezados de sección de estilo agrupados es
55.5
para los primeros y38
siguientes encabezados. (medido con DCIntrospect)fuente
Para swift 4.2, debe devolver UITableView.automaticDimension
fuente
No estoy seguro de cuál es la respuesta correcta aquí, pero ni 10 ni 22 parecen tener la altura correcta para una vista de tabla agrupada en iOS 5. Estoy usando 44, según esta pregunta, y al menos parece ser más o menos La altura correcta.
fuente
Para obtener la altura predeterminada, simplemente déjelo
super
manejar:fuente
[super tableView:tableView heightForHeaderInSection:section];
devuelve 0 para mí, tal vez porque no estoy usando una plumilla o guión gráfico.Esto debería funcionar
fuente
return [self sectionHeaderHeight];
[self sectionHeaderHeight];
produce un error. Quiso decir[tableView sectionHeaderHeight];
?