Tengo un UILabel en UITableView. Aquí está el código que he escrito en cellForRowAtIndexPathconfiguración de fondo transparente para UILabel para la aplicación de iphone
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[[UITableViewCell alloc] initWithFrame:CGRectMake(30.0, 5.0, 250.0, 35.0) reuseIdentifier:CellIdentifier] autorelease];
}
CGRect rect = CGRectMake(30.0, 5.0, 250.0, 35.0);
UILabel *label = [[UILabel alloc] initWithFrame:rect];
label.opaque = NO;
label.font = [UIFont systemFontOfSize:14];
label.numberOfLines = 2;
label.textAlignment = UITextAlignmentCenter;
label.textColor = [UIColor darkGrayColor];
label.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
[label setText:@"Test Message"];
[cell addSubview:label];
[label release];
cell.backgroundColor = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.0];
cell.selectionStyle = UITableViewCellSelectionStyleNone;
Mi intención era establecer el fondo de la celda y UILabel tan transparente.
Pero no está funcionando. Puede alguien decirme lo que me falta aquí
Gracias
Sandeep
Ahora que nos has apunta en la dirección correcta (gracias!) Voy a añadir que 'label.backgroundColor = nil; 'es más fácil de recordar y hace lo mismo. (El color BG es una propiedad de la superclase, UIView. Por referencia de clase, "El valor predeterminado es nulo, lo que da como resultado un color de fondo transparente." La subclase UILabel probablemente la establece inicialmente en blanco, por lo que debe cambiar explícitamente vuelve a cero/claro.) – Wienke
Al realizar la prueba, sin embargo, resulta que debe seguir con la respuesta original de Oden. Anulando el backgroundColor funciona bien al principio, pero si posteriormente cambias el texto de la etiqueta, el nuevo texto * se superpondrá * en el anterior. Muy raro. – Wienke
Establecer el valor en nil fue también mi primera suposición, pero resultó en que toda la etiqueta (texto y fondo) se volviera completamente negra. [UIColor clearColor] funcionó a la perfección. –