【发布时间】:2011-09-20 17:40:31
【问题描述】:
谁能告诉我默认 iPhone UITableView 分隔符的 UIColor 名称或确切的 RGBA 吗?
看起来像浅灰色,但不是[UIColor lightGrayColor];它比那更轻。
【问题讨论】:
标签: iphone ios uitableview uicolor
谁能告诉我默认 iPhone UITableView 分隔符的 UIColor 名称或确切的 RGBA 吗?
看起来像浅灰色,但不是[UIColor lightGrayColor];它比那更轻。
【问题讨论】:
标签: iphone ios uitableview uicolor
颜色不保证是特定颜色。它可以在操作系统和 SDK 版本上进行更改。
您可以通过访问separatorColor 属性来动态检索准确的颜色。
UITableView* TV = [[UITableView alloc] init];
UIColor* C = [TV separatorColor];
CGColorRef CGC = [C CGColor];
现在您可以通过UIColor 的方法获取每个通道的值。或者直接使用CGColor进行绘图。
这里是UITableView.h中属性的头文件注释。
@property(nonatomic,retain) UIColor *separatorColor;
// default is the standard separator gray
如果你想避免每次UITableView的实例化成本,只需获取一次并缓存它。
正如@Isuru 在评论中指出的那样,您可以像这样用 Swift 编写。
UITableView().separatorColor
正如@Jordan 在评论中指出的那样,您也可以存储结果以避免进一步的评估成本。
let defaultTableSeparatorColor = UITableView().separatorColor
【讨论】:
UITableView().seperatorColor.
private let defaultTableSeparatorColor = UITableView().separatorColor
…就CGContextSetRGBStrokeColor而言,它应该是:
CGContextSetRGBStrokeColor (
CGContextRef c,
224.0/255.0,
224.0/255.0,
224.0/255.0,
CGFloat alpha
);
很简单,希望能解决您的问题。
【讨论】:
iOS 7 似乎发生了变化:
现在颜色是 RGB(200, 199, 204):
[UIColor colorWithRed:200/255.0 green:199/255.0 blue:204/255.0 alpha:1.0];
并且不要忘记正确的行高是 1 像素。创建对应UIView的代码:
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 640, 1/[[UIScreen mainScreen] scale])];
view.backgroundColor = [UIColor colorWithRed:200/255.0 green:199/255.0 blue:204/255.0 alpha:1.0];
【讨论】:
[UIColor colorWithRed:224/255.0 green:224/255.0 blue:224/255.0 alpha:1.0];
【讨论】:
斯威夫特 3
只需设置为 nil 即可恢复默认值。
tableView.separatorColor = nil
【讨论】:
R:224 G:224 B:224
希望对你有帮助!
【讨论】:
CGContextSetRGBStrokeColor(浮点数)是什么意思?
要找出您 iOS 设备上的任何颜色,只需在模拟器中运行该应用程序,然后使用 Apple 的 DigitalColor Meter(在您的实用程序文件夹中)并将鼠标悬停在您需要信息的颜色上。或者,只需从手机抓取屏幕,在 Preview 中打开它,然后使用 DigitalColor Meter 读取颜色值。
【讨论】:
在 Swift 3.0.1 中,你可以这样做
yourView.backgroundColor = UITableView().separatorColor
【讨论】:
FWIW:
UIColor *defaultSeparatorColor = [UIColor colorWithRed:0.783922f green:0.783922f blue:0.8f alpha:1.0f];
这是在模拟 iOS 9.0 时发现的——并注销 UITableView separatorColor 默认具有的浮点值。我没有发现这与其他答案中的任何值匹配,而是通过创建 UITableView *tempTable 来设置其他答案中的代码结果。
【讨论】:
UITableView * tempTable = [[UITableView alloc] init];
[table setSeparatorColor:tempTable.separatorColor];
[table setSeparatorStyle:tempTable.separatorStyle];
table.backgroundView = tempTable.backgroundView;
【讨论】:
Screenshot -> Photoshop -> Pick Color Tool -> RGB(227, 227, 229)
【讨论】:
伙计们,这很简单:
UITableView().separatorColor
【讨论】: