2012-02-22 68 views
2

我把一個UISegmentedControl和一的UIBarButtonItem的UIToolBar內用下面的代碼:爲什麼設置UISegmenteControl或UIBarButtonItem的tintColor禁用按動按鈕?

UISegmentedControl *prevNext = [[UISegmentedControl alloc] initWithItems:[[NSArray alloc] initWithObjects:@"Previous", @"Next", nil]]; 
prevNext.segmentedControlStyle = UISegmentedControlStyleBar; 
[prevNext addTarget:self action:@selector(prevNextPressed) forControlEvents:UIControlEventValueChanged]; 
prevNext.tintColor = [UIColor blackColor]; 
UIBarButtonItem *prevNextButton = [[UIBarButtonItem alloc] initWithCustomView:prevNext]; 

UIBarButtonItem *done = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleBordered target:self action:@selector(closeKeyboard)]; 
done.tintColor = [UIColor blackColor]; 

這段代碼的UISegmentedControl和的UIBarButtonItem是觸摸時不改變其外觀靜態看控制。

如果我註釋掉設置tintColor屬性的行,那麼它們看起來不太好,但至少它們在視覺上對觸摸做出了響應。

爲什麼會發生這種情況,以及我如何修復它的任何想法?

回答

5

觸摸條形按鈕或分段控件時的視覺效果會使其變暗。由於您的初始色調爲黑色,因此按鈕無法變暗,因此其外觀不會改變。嘗試另一種顏色,例如深灰色[UIColor colorWithWhite:0.2 alpha:1],也許。

+0

謝謝。我想保持tintColor黑色並以編程方式將文本的顏色從白色更改爲灰色,以指示在按下不同的區域時會禁用段。你知道有什麼好的方法來做到這一點嗎? – ladookie 2012-02-22 21:59:56