我用下面的代碼對每個在UISegmentedcontrol分段的變化文本顏色如何I(在索引2例如段)變更文字顏色在UISegmentedcontrol
for (id seg in [segment subviews])
for (id label in [seg subviews])
if ([label isKindOfClass:[UILabel class]])
[label setTextColor:[UIColor redColor]];
我用下面的代碼對每個在UISegmentedcontrol分段的變化文本顏色如何I(在索引2例如段)變更文字顏色在UISegmentedcontrol
for (id seg in [segment subviews])
for (id label in [seg subviews])
if ([label isKindOfClass:[UILabel class]])
[label setTextColor:[UIColor redColor]];
我用下面的代碼對於這個問題
int eg=0;
for (id seg in [sg subviews])
{
int gg=sg.selectedSegmentIndex;
if(gg==2)
gg=0;
else if(gg==0)
gg=2;
if(eg==gg && eg!=1)
{
for (id label in [seg subviews])
if ([label isKindOfClass:[UILabel class]])
{
[label setTextAlignment:UITextAlignmentCenter];
[label setFont:[UIFont boldSystemFontOfSize:12]];
[label setTextColor:[UIColor colorWithRed:0.325 green:0.565 blue:0.788 alpha:1]];
}//if
}//if
else if(eg==1)
{
for (id label in [seg subviews])
if ([label isKindOfClass:[UILabel class]])
{
[label setTextAlignment:UITextAlignmentCenter];
[label setFont:[UIFont boldSystemFontOfSize:11]];
[label setTextColor:[UIColor grayColor]];
}//if
}//else if
else
{
for (id label in [seg subviews])
if ([label isKindOfClass:[UILabel class]])
{
[label setTextAlignment:UITextAlignmentCenter];
[label setFont:[UIFont boldSystemFontOfSize:11]];
[label setTextColor:[UIColor colorWithRed:0.888 green:0.888 blue:0.888 alpha:1]];
}//if
}//else
eg++;
}//for
改變文本顏色特定段的?據我知道有沒有基於定製的解決方案。但是,您可以使用必要細分的圖片(setImage:forSegmentAtIndex:
)或看看這個: http://matteocaldari.it/2010/05/a-uisegmentedcontrol-with-custom-color(作者已將子類別UISegmentedControl &實施了自定義繪圖覆蓋drawRect:
方法)。
不適合我現在的工作(的iOS 4.3) – Rodrigo 2011-09-21 13:25:46