Esto no es radicalmente diferente a la respuesta de @rckoenes, pero proporciona una forma más ortodoxa de manejar eventos en vistas en lugar de usar botones invisibles.
prefiero añadir un UITapGestureRecognizer a mi vista de encabezado en lugar de añadir botones invisibles y les cambio de tamaño:
UITapGestureRecognizer *singleTapRecogniser = [[[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleGesture:)] autorelease];
[singleTapRecogniser setDelegate:self];
singleTapRecogniser.numberOfTouchesRequired = 1;
singleTapRecogniser.numberOfTapsRequired = 1;
[yourHeaderView addGestureRecognizer:singleTapRecogniser];
y luego:
- (void) handleGesture:(UIGestureRecognizer *)gestureRecognizer;
Se puede utilizar para ver qué gesture.view fue tocado Luego hacer lo que tiene que hacer para averiguar cuál de cabecera era (etiquetas, los datos matriz de búsqueda ...)
o simplemente puede devolver una UUtilizar el tamaño del encabezado en el método "viewForHeaderInSection", en lugar de agregarlo y devolverlo –