[英]UISegmentedContol change background color without changing image tint color
我有一個UISegmentedContol,每個段內都有圖像。 在情節提要中,我將背景顏色和圖像的色調設置為白色。 現在,當選擇一個片段時,我試圖僅更改背景顏色並將圖像色調保持為白色(與未選擇的片段相同),但是我無法這樣做。 這是我的代碼:
- (IBAction)onSegmentValueChanged:(id)sender
{
UISegmentedControl *segment = (UISegmentedControl*)sender;
UIColor *tintcolor=UIColorFromRGB(0x3A0F3A);
for (int i=0; i<[segment.subviews count]; i++)
{
if ([[segment.subviews objectAtIndex:i]isSelected] )
{
[[segment.subviews objectAtIndex:i] setBackgroundColor:[UIColor purpleColor]];
[[segment.subviews objectAtIndex:i] setTintColor:[UIColor whiteColor]];
}
else
{
[[segment.subviews objectAtIndex:i] setBackgroundColor:tintcolor];
}
}
}
見下圖:
https://www.dropbox.com/s/y93m3vtgr95e2dy/IMG_9249.PNG?dl=0
未選擇的段具有正確的背景顏色(紫色)和正確的圖像色調(白色)。 所選的片段應具有紫色背景並帶有白色圖像色調,但應具有白色背景。
謝謝
對於具有段控制的所有其他功能,我正在使用自定義段控制。 例如,您可以檢查我的細分控件。
https://github.com/Bambaster/CustomSegmentControl
因此,您可以添加圖像,顏色等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.