Estoy intentando configurar un color de separación gris oscuro. ¿Por qué lo siguiente no hace nada?
self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];
devuelve una tabla sin separadores.
Tan pronto como uso [UIColor blackColor], obtengo separadores muy bien. ¿Cual es el trato?
iphone
cocoa-touch
uitableview
ios4
skålfyfan
fuente
fuente
UIColor
necesita admitir 'color profundo' (es decir, colores con una profundidad superior a 24 bits o 32 con alfa). Por supuesto, eso aún no cambia el hecho de que un método de conveniencia incorporado (junto con el soporte hexadecimal) sería claramente muy útil para muchos desarrolladores.Porque su método UIColor requiere un valor flotante de 0-1, no de 0-255. Debe dividir todos sus valores RGB por 255.0, de la siguiente manera:
self.tableView.seperatorColor = [UIColor colorWithRed:127.0f/255.0f green:127.0f/255.0f blue:127.0f/255.0f alpha:1.0f];
fuente
Tienes que dividir tus valores entre 255, porque el rango es 0-1. Tome 127/255 = 0.49f y escriba eso en su lugar. Está ahí, es solo blanco :)
editar: debido a los comentarios, agregué un código sobre cómo lo resuelvo:
-(float)getRGBValue:(int) rgbValue{ return rgbValue/255.0; ]
fuente
Hay dos métodos nuevos
UIColor
que aceptan valores enteros de 0 a 255:UIColor(red: Int, green: Int, blue: Int)
y
UIColor(alpha: Float, red: Int, green: Int, blue: Int)
No está en la documentación, pero lo he usado y funciona de maravilla.
fuente