texto puede poner pantalla mensajes letra hora como color cambio cambiar iphone fonts title uitableview

iphone - puede - ¿Cómo cambiar el color de la fuente del título en el tipo agrupado UITableView?



mi iphone cambio de color la pantalla (5)

Para usar las coordenadas predeterminadas y las secciones en TableView, con fuente y sombra de color blanco:

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { NSString *sectionTitle = [self tableView:tableView titleForHeaderInSection:section]; if (sectionTitle == nil) { return nil; } UILabel *label = [[UILabel alloc] init]; label.frame = CGRectMake(20, 8, 320, 20); label.backgroundColor = [UIColor clearColor]; label.textColor = [UIColor whiteColor]; label.shadowColor = [UIColor grayColor]; label.shadowOffset = CGSizeMake(-1.0, 1.0); label.font = [UIFont boldSystemFontOfSize:16]; label.text = sectionTitle; UIView *view = [[UIView alloc] init]; [view addSubview:label]; return view; }

Tengo una tabla de tipo agrupado y se ve muy bien.

Pero, si cambio el color de fondo de la tabla a negro, los títulos no están claros.

¿Es posible cambiar el color de la fuente y sus estilos? Para que pueda hacerlo más legible. ¿Debo implementar el tableView:viewForHeaderInSection: :?


Sí ... ¡Funciona muy bien ahora!

tableView:viewForHeaderInSection: método tableView:viewForHeaderInSection: y creé un UIView

UIView *customTitleView = [ [UIView alloc] initWithFrame:CGRectMake(10, 0, 300, 44)];

Luego creé un UILabel y establecí los valores y colores del texto en la etiqueta. Luego agregué la etiqueta a la vista

UILabel *titleLabel = [ [UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 44)]; titleLabel.text = @"<Title string here>"; titleLabel.textColor = [UIColor whiteColor]; titleLabel.backgroundColor = [UIColor clearColor]; [customTitleView addSubview:titleLabel];

Entonces mi tableView:viewForHeaderInSection: ...

-(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { UIView *customTitleView = [ [UIView alloc] initWithFrame:CGRectMake(10, 0, 300, 44)]; UILabel *titleLabel = [ [UILabel alloc] initWithFrame:CGRectMake(0, 0, 300, 44)]; titleLabel.text = @"<Title string here>"; titleLabel.textColor = [UIColor whiteColor]; titleLabel.backgroundColor = [UIColor clearColor]; [customTitleView addSubview:titleLabel]; return customTitleView; }

Deberíamos agregar el tableView:heightForHeaderInSection: para proporcionar espacio al título.

-(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 44; }


Si solo necesita cambiar el color o la fuente en el encabezado, use tableView: willDisplayHeaderView: forSection: Aquí hay un ejemplo rápido:

override func tableView(tableView: UITableView, willDisplayHeaderView view: UIView, forSection section: Int) { if let view = view as? UITableViewHeaderFooterView { view.backgroundView?.backgroundColor = ThemeBlue view.textLabel.backgroundColor = UIColor.clearColor() view.textLabel.textColor = UIColor.whiteColor() } }


De la documentación de apple

La vista de tabla utiliza un estilo de fuente fijo para títulos de encabezado de sección. Si desea un estilo de fuente diferente, devuelva una vista personalizada (por ejemplo, un objeto UILabel) en el método delegado tableView:viewForHeaderInSection: lugar.

Por lo tanto, utilice el siguiente método y devuelva su vista personalizada (UILabel) con la fuente que prefiera.

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section

Leer de la documentación de apple


if ([UIDevice currentDevice].systemVersion.floatValue > 7.0) { [[UILabel appearanceWhenContainedIn:[UITableViewHeaderFooterView class], nil] setTextColor:[UIColor whiteColor]]; }