UILabel ã®æåè²ããã¤ã©ã¤ãæã«æãã®è²ã«ãã
UI ã®ã¤ã³ã¿ã©ã¯ã·ã§ã³ã¨ãã¦ããã¹ãã«ã©ã¼ãå°ãæãã«ããããã¨ããã£ãã®ã§ãã®æã«ä½¿ã£ãæ¹æ³ã§ãã
HSB(HSV) ã§å ã®è²ã® Brightness ã夿´ãã
å ã«æ¸ããã¨ããæããããã ããªã®ã§ RGB ã§ã©ããããããã¨ããã®ã¯ããã©ããããã®ãããªãã§ããã§ãã®ã§ååç´¹ä»ãã HSB(HSV) ãç´ ç´ã«ä½¿ãããã¨æãã¾ããHSB(HSV) ã§å ã®è²ã® Brightness ã夿´ããã¢ããã¼ãã§ãã
ãããã
ã¾ãæããããå
ã® UIColor ãã HSB ã®è¦ç´ ãæãåºãã¾ããããã«ã¯ - (BOOL)getRed:(CGFloat *)red green:(CGFloat *)green blue:(CGFloat *)blue alpha:(CGFloat *)alpha
ã使ãã¾ããåè¦ç´ ã®å¤ãæãåããã¨ããã§ Brightness ã®å¤ã ã夿´ãã¾ããä»å¾ä½¿ããããããã«å¤æ´çã§èª¿æ´åºæ¥ãããã«ãã¾ããããã¨ä»¥ä¸ã®ãããªæãã§ãã
+ (UIColor *)csn_colorWithBaseColor:(UIColor *)baseColor brightnessRatio:(CGFloat)ratio { CGFloat hue = 0; CGFloat saturation = 0; CGFloat brightness = 0; CGFloat alpha = 0; BOOL converted = [baseColor getHue:&hue saturation:&saturation brightness:&brightness alpha:&alpha]; if (converted) { return [UIColor colorWithHue:hue saturation:saturation brightness:(brightness * ratio) alpha:alpha]; } return nil; }
ä½¿ãæ¹
self.label.textColor = [UIColor redColor]; self.label.highlightedTextColor = [UIColor csn_colorWithBaseColor:self.label.textColor brightnessRatio:0.65];
0.6 ~ 0.7 ãããã®å¤ã brightnessRatio ã«æ¸¡ãã¦ããã¨ã»ã©ã»ã©ã«æããªã£ã¦ããã¨æãã¾ãã
ã¾ã¨ã
RGB ã§ããããã HSB ã§ãã£ãæ¹ãéãã«ç´æçã«æåº¦ã®èª¿æ´ãã§ããã¨æãã¾ããä»åã®ã¡ã½ããã UIColor ã®ã«ãã´ãªã¡ã½ããã¨ãã¦ããããã¡ã¤ã«ãå«ã㦠Gist ã«ç½®ãã¦ããã¾ããè¯ãã£ãã使ã£ã¦è¦ã¦ãã ããã