2011-05-17 68 views
9

一個簡短的問題,我想將UITableViewCellAccessoryDisclosureIndicatortableView右側的箭頭)的顏色從默認灰色更改爲白色。更改UITableViewCellAccessoryDisclosureIndicator的顏色

cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; 
+0

舊的問題,但沒有滿意的答案呢。這裏是你*實際*要求:http://stackoverflow.com/a/35427683/378024 – galambalazs 2016-02-16 08:59:14

回答

15

您應該創建一個圖像,然後使用它!

cell。 accessoryView = myAccessoryUIImageView;

+0

是任何方式來更改iphone中的UITableViewCellAccessoryDisclosureIndicato顏色默認 – kingston 2011-05-17 06:09:40

+1

我懷疑是可以更改默認情況下。你可以繼承UITableViewCell並自定義所有的,也許可以在其他地方重用嗎? – prakash 2011-05-17 06:19:55

+0

**可以爲原始蘋果指示器着色:**請參閱我的回答:http://stackoverflow.com/a/35427683/378024 (不使用自定義圖像或自定義繪圖代碼) – galambalazs 2016-02-16 08:58:52

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)]; 
6

要改變的UITableViewCellAccessoryDetailDisclosureButton顏色:

cell.tintColor = [UIColor whiteColor]; 
+0

這裏是唯一正確的答案。 – Andy 2014-02-09 17:36:32

+3

答案可能是「正確的」,但它可悲地不回答被問到的問題。 UITableViewCellAccessoryDisclosureIndicator與UITableViewCellAccessoryDe​​tailDisclosureButton不一樣。 :( – 2014-03-18 19:40:06

+0

UITableViewCell沒有這種方法tintColor – 2014-09-20 10:34:22

2

你發現包括MSCellAccessory將有助於許多不同的方式,包括更改UITableViewCellAccessoryDe​​tailDisclosureButton的顏色