3

我正在使用UIAppearance为我的 iOS 应用程序设置全局样式。我正在设想一种浅灰色的风格。

[[UINavigationBar appearance]
    setTintColor:[UIColor colorWithWhite:0.95 alpha 1.0]
];

[[UISegmentedControl appearance]
    setTintColor:[UIColor colorWithWhite:0.90 alpha 1.0]
];

在此处输入图像描述

问题是UISegmentedControl的选定段 (Uno)并不比正常段 (Dos) 暗多少。正常段已经在正确的黑暗中,但我只想使选定的段变暗,这样人们就可以分辨出两者之间的区别。变暗色调会同时使它们变暗,所以这是行不通的。

4

1 回答 1

1

最简单的方法是遍历分段控制器的子视图列表并查看选择了哪个,当您找到选定的子视图时,您需要将其色调调整为更暗。

for (int x= 0; x <[aSegementedController.subviews count]; x++) 
{
    UIBarButtonItem *subview = [aSegementedController.subviews objectAtIndex:x];
    if ([subview isSelected]) 
    {               

        [subview setTintColor:darkerColor];
    }
}

然而,这不适用于 UIAppearance,我不相信它在那个级别是可定制的。

于 2012-04-04T04:37:27.127 回答