1. ホーム
  2. iphone

[解決済み] UITableViewのseperatorColorで[UIColor colorWithRed:green:blue:alpha:]が使えない?

2023-05-05 05:36:20

質問

セパレータの色をダークグレーに設定したいのですが、どうすればよいですか。なぜ以下は何もしないのでしょうか?

self.tableView.seperatorStyle = UITableViewCellSeperatorStyleSingleLine;
self.tableView.seperatorColor = [UIColor colorWithRed: 127 green:127 blue:127 alpha:1];

はセパレータが全くないテーブルを返します。

を使うとすぐに [UIColor blackColor] を使用すると を使うと、セパレータがうまく表示されます。どうなっているのでしょうか?

どのように解決するのですか?

で割る必要があります。 255.0

1.0 と 0.0 の間の値を使うことはほとんどないので、面倒そうな除算を自分で行う非常に単純な UIColor カテゴリを作りました: (from 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

ということで、(上でリンクしたカテゴリーをインポートすれば)OKです。

[UIColor colorWithR:127 G:127: B:127 A:1];