更改UITableViewCellAccessoryDisclosureIndicator的颜色

时间:2011-05-17 05:58:47

标签: objective-c xcode uitableview

一个简单的问题,我想将UITableViewCellAccessoryDisclosureIndicatortableView右侧的箭头)的颜色从默认的灰色更改为白色。

cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator;

5 个答案:

答案 0 :(得分:15)

你应该创建一个图像并改为使用它!

细胞。 accessoryView = myAccessoryUIImageView;

答案 1 :(得分:6)

更改UITableViewCellAccessoryDetailDisclosureButton的颜色:

cell.tintColor = [UIColor whiteColor];

答案 2 :(得分:2)

对于仍然绊倒这个问题的其他人来说,这是如何以编程方式进行的。

创建一个UIView子类,并使用以下内容覆盖drawRect:

#define PADDING 4.f //give the canvas some padding so the ends and joints of the lines can be drawn with a mitered joint

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();

    CGContextSetStrokeColorWithColor(context, [UIColor grayColor].CGColor);
    CGContextSetLineWidth(context, 3.f);
    CGContextSetLineJoin(context, kCGLineJoinMiter);

    CGContextMoveToPoint(context, PADDING, PADDING);
    CGContextAddLineToPoint(context, self.frame.size.width - PADDING, self.frame.size.height/2);
    CGContextAddLineToPoint(context, PADDING, self.frame.size.height - PADDING);

    CGContextStrokePath(context);
}

这会绘制一个股票指标箭头。从这里你可以改变颜色,线宽等。

将指标视图添加到您的单元格:

#define ACCESSORY_WIDTH 13.f
#define ACCESSORY_HEIGHT 18.f

cell.accessoryView = [[AccessoryIndicatorView alloc] initWithFrame:CGRectMake(self.frame.size.width - ACCESSORY_WIDTH - CELL_PADDING, self.frame.size.height/2 - ACCESSORY_HEIGHT/2, ACCESSORY_WIDTH, ACCESSORY_HEIGHT)];

答案 3 :(得分:2)

你会发现包含MSCellAccessory会有很多不同的方法,包括改变UITableViewCellAccessoryDe​​tailDisclosureButton的颜色

答案 4 :(得分:0)