UIColor Love The Way You Lie 2023-03-13 02:28 1阅读 0赞 在UI框架中,这个类的使用频率非常之高。我们以一个小需求,引出我们的 UIColor . 需求: 分析:三个按钮底部的颜色均为半透明; 方案一:三个按钮均添加到一个View上,然后改变View的颜色透明通道(不是设置view.alpha = 0.5f)。 方案二:三个按钮均添加到一个View上,然后把View的颜色用一张透明图片来实现。 实现 方案一:先实现一个简单的同样效果的Demo,示例代码: 1 // 测试 2 UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(50, 100, 300, 100)]; 3 testView.backgroundColor = [[UIColor blackColor] colorWithAlphaComponent:0.1]; 4 [self.view addSubview:testView]; 5 // label的颜色不需要设置,默认为 clearColor 即可 6 UILabel *label = [[UILabel alloc] initWithFrame:testView.bounds]; 7 label.text = @"Learning…………"; 8 label.textColor = [UIColor redColor]; 9 label.textAlignment = NSTextAlignmentCenter; 10 [self.view addSubview:label]; 11 [testView addSubview:label]; 整体效果: 其中核心是: - (UIColor *)colorWithAlphaComponent:(CGFloat)alpha; 该方法,指定一个初始颜色,然后改变该颜色的透明通道,即可实现如上图透视的效果! 方案二: // 测试 UIView *testView = [[UIView alloc] initWithFrame:CGRectMake(50, 100, 300, 100)]; testView.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"transparent"]]; [self.view addSubview:testView]; UILabel *label = [[UILabel alloc] initWithFrame:testView.bounds]; label.text = @"Learning…………"; label.textColor = [UIColor redColor]; label.textAlignment = NSTextAlignmentCenter; [self.view addSubview:label]; [testView addSubview:label]; 核心是: 1 + (UIColor *)colorWithPatternImage:(UIImage *)image; 该方法中,平铺一张图片作为颜色(我使用的是半透明图片)。即可实现上面的效果! 接下来,在查看一下苹果提供的关于 UIColor 的方法: 1 /** 2 * @brief 设置颜色 3 * 4 * @param white 白色(0-255) 5 * @param alpha 透明度 6 * 7 * @return 返回颜色值 8 */ 9 + (UIColor *)colorWithWhite:(CGFloat)white alpha:(CGFloat)alpha; 10 11 /** 12 * @brief 设置颜色 13 * 14 * @param hue 色调 15 * @param saturation 饱和度 16 * @param brightness 亮度 17 * @param alpha 透明度 18 * 19 * @return 返回颜色值 20 */ 21 + (UIColor *)colorWithHue:(CGFloat)hue saturation:(CGFloat)saturation brightness:(CGFloat)brightness alpha:(CGFloat)alpha; 22 23 /** 24 * @brief 设置颜色 25 * 26 * @param red 0-255 27 * @param green 0-255 28 * @param blue 0-255 29 * @param alpha 透明度 30 * 31 * @return 返回颜色值 32 */ 33 + (UIColor *)colorWithRed:(CGFloat)red green:(CGFloat)green blue:(CGFloat)blue alpha:(CGFloat)alpha; 34 35 /** 36 * @brief 设置颜色 37 * 38 * @param cgColor CoreFoundation框架的,e.g.(__bridge CGColorRef _Nonnull)([UIColor blackColor]) 39 * 40 * @return 返回颜色值 41 */ 42 + (UIColor *)colorWithCGColor:(CGColorRef)cgColor; 43 44 /** 45 * @brief 设置颜色 46 * 47 * @param image 指定作为颜色的平铺图片 48 * 49 * @return 返回颜色值 50 */ 51 + (UIColor *)colorWithPatternImage:(UIImage *)image; 还有系统提供的一些指定纯色的类方法和实例方法,不再一一指出! 另,对于常用的颜色值和指定颜色的方法,例如随机色、指定RGB颜色(0-1)等方法可以写成 Macro 或 Category ,方便我们的使用! ***尊重作者劳动成果,转载请注明:** [【kingdev】][kingdev]* [kingdev]: http://www.cnblogs.com/xiu619544553/
相关 UIColor 在UI框架中,这个类的使用频率非常之高。我们以一个小需求,引出我们的 UIColor . 需求: 分析:三个按钮底部的颜色均为半透明; 方案一:三个按钮均添加到一个Vie Love The Way You Lie/ 2023年03月13日 02:28/ 0 赞/ 2 阅读
相关 Swift 根据色码串获得UIColor import Foundation import UIKit extension UIColor { ╰半橙微兮°/ 2022年12月18日 01:00/ 0 赞/ 69 阅读
相关 html十六进制颜色转换工具,16进制颜色(html颜色值)字符串转为UIColor 互联网 App 中经常会用到 html 颜色值转换 UIColor,比如:\FF9900、0XFF9900 等颜色字符串,以下方法可以将这些字符串转换为 UIColor 对象。 喜欢ヅ旅行/ 2022年10月05日 15:54/ 0 赞/ 846 阅读
相关 ios开发-UIColor的使用。 在ios开发中,经常遇到对UIColor的相关操作。 比如这样 self.backgroundColor = \[UIColorredColor\]; 这里的r 迈不过友情╰/ 2022年09月17日 07:26/ 0 赞/ 196 阅读
相关 UIColor 获取颜色的RGB值 CGFloat R, G, B; CGColorRef color = [UIColor clearColor].CGColor; // 迷南。/ 2022年03月11日 03:55/ 0 赞/ 226 阅读
还没有评论,来说两句吧...