簡體   English   中英

UISegmentedContol更改背景色而不更改圖像色調顏色

[英]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

因此,您可以添加圖像,顏色等。

在之前的項目中,我也有類似的需求, 為此我使用了PPiFlatSegmentedControl ,它的工作原理就像魔術一樣。

謝謝,

阿提克

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM