uitableviewcontroller uitableviewcell example custom ios uitableview swift layout

ios - uitableviewcell - Espacio entre secciones en UITableview



uitableviewcell swift 3 (6)

¿Intentó anular esta función?

override func tableView(tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return 0.00001 }

Necesito reducir el espacio entre dos secciones de UITableView . Miré esta question pero la solución no permite mi vista de encabezado personalizado porque combina el espacio del pie de página y el encabezado.

Aquí hay una imagen de UITableView . El color negro es el color de fondo UITableView .


Creo que puedes resolver esto ajustando la altura de la vista de pie de página a su mínimo: en Storyboard o XIB.

No sé lo que ha escrito en su código para la altura del pie de página. Lo siento si estoy equivocado.

Posible duplicado de la vista de pie de página oculta en UITableView


Debe usar el método heightForHeaderInSection para definir el espacio entre el encabezado y el texto de la celda. También puede cambiarlo dependiendo de las diferentes secciones para, p. Ej. en algunas secciones puede necesitar mostrar más distancia y debajo de algunas, no quiere mostrar espacio. Para tal caso, puede usar CGFLOAT_MIN que es 0.000001f. Dando un ejemplo, cómo puede usar diferentes secciones con diferentes alturas de encabezado

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { if (section == 0 || section == 2) { return 55.0; } else { return CGFLOAT_MIN; } }

Espero que te ayude.


Esto también puede ayudar:

override func viewDidLoad() { super.viewDidLoad() tableView.sectionHeaderHeight = UITableViewAutomaticDimension }


Para Swift 3

override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { return CGFloat.leastNormalMagnitude }


Puedes hacerlo implementando el delegado heightForHeaderInSection & heightForFooterInSection .

El valor de retorno no debe ser 0, incluso si SectionHeader o la altura de SectionFooter es 0, necesita un valor muy pequeño, pruebe CGFLOAT_MIN .

para mi ejemplo:

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{ if (section == [self.dataArray indexOfObject:self.bannerList]) { return 46; } return CGFLOAT_MIN;

}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { return CGFLOAT_MIN; }