自定义UIControl,UILabel调色,颜色变化

Pet*_*isu 5 cocoa-touch uicontrol ios7

对于UISegmentedControl,一旦出现弹出窗口或警报,控件变暗(灰色(去色调色调))

我正在构建自己的UIControl子类,它使用UILabel作为子视图

我想暗淡(去饱和)UILabel的文本颜色,与UISegmentedControl或(UIButton ......)相同

Dav*_*ist 10

查看UIView 上的tintColortintAdjustmentMode属性(自iOS 7起可用)和tintColorDidChange方法.

如果您在自定义视图中覆盖它们,则可以响应变暗.

正如iOS 7 UI过渡指南所说:

出现警报或操作表时,iOS 7会自动调暗其后面视图的色调颜色.要响应此颜色更改,tintColor在其呈现中使用的自定义视图子类应覆盖tintColorDidChange以在适当时刷新呈现.

解决方案可能如下所示:

- (void)tintColorDidChange {

    self.titleLabel.textColor = self.tintColor;

}
Run Code Online (Sandbox Code Playgroud)