J’essaie de configurer une couleur séparateur gris foncé. Pourquoi ce qui suit ne fait rien?
self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine; self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];
renvoie une table sans séparateur.
Dès que j’utilise [UIColor blackColor], les séparateurs vont très bien. Quel est le problème?
Vous devez diviser par 255.0
Comme je n’utilise presque jamais de valeurs comsockets entre 1,0 et 0,0, j’ai créé une catégorie UIColor très simple qui fait toute la division en apparence: (à partir de http://github.com/Jon889/JPGeneral )
//.h file @interface UIColor (JPExtras) + (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha; @end //.m file @implementation UIColor (JPExtras) + (UIColor *)colorWithR:(CGFloat)red G:(CGFloat)green B:(CGFloat)blue A:(CGFloat)alpha { return [UIColor colorWithRed:(red/255.0) green:(green/255.0) blue:(blue/255.0) alpha:alpha]; } @end
Donc, vous pouvez simplement faire (si vous importez la catégorie I liée ci-dessus):
[UIColor colorWithR:127 G:127: B:127 A:1];
Parce que votre méthode UIColor nécessite un flottant compris entre 0 et 1 et non 0 à 255. Vous devez diviser toutes vos valeurs RVB par 255.0, comme suit:
self.tableView.seperatorColor = [UIColor colorWithRed:127.0f/255.0f green:127.0f/255.0f blue:127.0f/255.0f alpha:1.0f];
Vous devez diviser vos valeurs avec 255, car la plage est 0-1. Prenez 127/255 = 0.49f et tapez-le à la place. C’est là, c’est juste blanc 🙂
edit: cause des commentaires, j’ai ajouté du code pour le résoudre:
-(float)getRGBValue:(int) rgbValue{ return rgbValue/255.0; ]