2011-05-17 5 views
9

rengini değiştirme Hızlı bir soru, UITableViewCellAccessoryDisclosureIndicator (tableView sağ tarafındaki okun) gri renkten beyaz renge rengini değiştirmek istiyorum.UITableViewCellAccessoryDisclosureIndicator

cell.accessoryType=UITableViewCellAccessoryDisclosureIndicator; 
+0

Eski sorusunun rengini değiştirmek de dahil olmak üzere pek çok farklı şekilde yardımcı olacaktır, ancak henüz tatmin edici bir yanıt almadı. İşte burada * aslında * sordu: http://stackoverflow.com/a/35427683/378024 – galambalazs

cevap

15

Görüntü oluşturup bunun yerine kullanmalısınız!

hücresi. accessoryView = benimAccessoryUIImageView;

+0

herhangi bir şekilde UITableViewCellAccessoryDisclosureIndicato rengini iphone olarak varsayılan olarak değiştirebilir – kingston

+1

Varsayılan olarak değiştirmek mümkündür. UITableViewCell'i alt sınıflara ayırabilir ve tümünü özelleştirebilir ve belki de başka her yerde yeniden kullanabilir misiniz? – prakash

+0

** Orijinal Apple göstergesini renklendirmek mümkündür: ** Cevabımıma bakın: http://stackoverflow.com/a/35427683/378024 (özel resimler veya özel çizim kodu kullanmadan) – galambalazs

2

, burada programlı yapmak nasıl.

bir UIView alt sınıfı oluşturun ve aşağıdaki drawRect: geçersiz:

#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); 
} 

Bu stok gösterge okunu çeker. vb rengi, çizgi kalınlığı, değiştirebilir Buradan

Hücrene gösterge görünümü eklemek için:

#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 rengini değiştirmek için:

cell.tintColor = [UIColor whiteColor]; 
+0

Burada sadece doğru cevap. – Andy

+3

Yanıt "doğru" olabilir, ancak ne yazık ki sorulan soruya cevap vermiyor. UITableViewCellAccessoryDisclosureIndicator, UITableViewCellAccessoryDetailDisclosureButton ile aynı değildir. :( –

+0

UITableViewCell'in böyle bir yöntemi yoktur tintColor –