我正在嘗試設置tintColor併爲UISegmentedControl選擇tintColor。UISegmentedControl選擇了tintColor on viewLoad
到目前爲止,除了當視圖第一次加載時,即使我調用我的方法來設置tintColor(並執行它),tintColor在第一次單擊之前也不會正確設置。
但確實出現,但好像東西正在發生,因爲我試圖將顏色設置爲黑色與白色選擇,並且默認的顏色是一個黑暗。
有關如何實際修改加載顏色的任何想法?
//some code
-(void)viewDidLoad
_segmentedControl.selectedSegmentIndex = 0;
[self segmentedControl:_segmentedControl];
//set color method
- (IBAction)segmentedControl:(BaseSegmentedControl *)sender
{
//change the color of every subview(segment) you have
for (int i = 0; i < [[sender subviews] count]; i++)
{
if ([[sender.subviews objectAtIndex:i]isSelected])
{
[[sender.subviews objectAtIndex:i] setTintColor:nil];
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor whiteColor]];
}
else
{
[[sender.subviews objectAtIndex:i] setTintColor:nil];
[[sender.subviews objectAtIndex:i] setTintColor:[UIColor blackColor]];
}
}
感謝
備註 - 在標準控件的專用子視圖結構中挖掘是一個糟糕的主意。您的代碼很容易在未來的iOS更新中破解。 – rmaddy
它是唯一的方法我看到設置segmentcontrol個別顏色ios6 – JMD