2013-03-25 58 views
0

當您將tintColor設置爲UISegmentedControl時,如果它的segmentedControlStyleUISegmentedControlStyleBar,則不再顯示您選擇哪個按鈕。 valueChanged事件仍會觸發,但所選按鈕中沒有任何顏色變化。沒有辦法顯示選定的按鈕,而不使用默認的藍色風格離開控件?帶tintColor的UISegmentedControl不顯示選擇?

回答

0

,如果你設置暗顏色TintColor,你不會得到效果,可用於該用途的光色像 把這個代碼在UISegmentControl

for (int i=0; i<[[sender subviews] count]; i++) 
{ 
    if ([[[sender subviews] objectAtIndex:i]isSelected]) 
    { 
     UIColor *tintcolor=[UIColor redColor]; //your requiremnent color here 
     [[[sender subviews] objectAtIndex:i] setTintColor:tintcolor]; 
     break; 
    } 
} 

的變化的方法試試這個

+1

不設置blackColor,否則您將面臨此問題。 – 2013-03-25 12:12:51

+0

其實我已selectsegmentindex值,我想設置色調爲綠色選定的索引和灰色未選定的索引...但它不工作 – Shaunak 2013-03-25 12:15:14

0

添加顏色在UISegmentcontrol

這裏發件人選擇的片段是UISegmentControl

for (int i=0; i<[sender.subviews count]; i++) 
{ 
    if ([[sender.subviews objectAtIndex:i]isSelected]) 
    {    
    UIColor *tintcolor=[UIColor colorWithRed:127.0/255.0 green:161.0/255.0 blue:183.0/255.0 alpha:1.0]; 
    [[sender.subviews objectAtIndex:i] setTintColor:tintcolor]; 
    break; 
    } 
} 
+1

此代碼工作只在segmentchanged事件,而不是從其他方法手動調用 – Shaunak 2013-03-25 12:18:44

+0

得到段控制通過UISegmentedControl * sender =(UISegmentedControl *)Sg; – iPatel 2013-03-25 12:21:51