iOS为UIView的子类添加渐变颜色

+ (UIColor*) gradientFromColor:(UIColor*)c1 toColor:(UIColor*)c2 withWidth:(CGFloat)width andHeight:(CGFloat)height{
    CGSize size = CGSizeMake(width, height);
    UIGraphicsBeginImageContextWithOptions(size, NO, 0);
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGColorSpaceRef colorspace = CGColorSpaceCreateDeviceRGB();

    NSArray* colors = [NSArray arrayWithObjects:(id)c1.CGColor, (id)c2.CGColor, nil];
    CGGradientRef gradient = CGGradientCreateWithColors(colorspace, (CFArrayRef)colors, NULL);
    CGContextDrawLinearGradient(context, gradient, CGPointMake(0, 0), CGPointMake(size.width, size.height), 0);

    UIImage *image = UIGraphicsGetImageFromCurrentImageContext();

    CGGradientRelease(gradient);
    CGColorSpaceRelease(colorspace);
    UIGraphicsEndImageContext();

    return [UIColor colorWithPatternImage:image];
}

  

比如给一个UILabel设置了渐变颜色的效果

设置渐变背景色

设置简便字体色

时间: 2024-08-07 00:17:24

iOS为UIView的子类添加渐变颜色的相关文章

iOS 之渐变颜色

效果如下: 实现代码如下: .H #import <UIKit/UIKit.h> /** 渐变方式 - IHGradientChangeDirectionLevel: 水平渐变 - IHGradientChangeDirectionVertical: 竖直渐变 - IHGradientChangeDirectionUpwardDiagonalLine: 向下对角线渐变 - IHGradientChangeDirectionDownDiagonalLine: 向上对角线渐变 */ typedef

渐变颜色的进度条WGradientProgress-备用

今天我们来实现一个iOS平台上的进度条(progress bar or progress view).这种进度条比APPLE自带的更加漂亮,更加有“B格”.它拥有渐变的颜色,而且这种颜色是动态移动的,这里称之为WGradientProgress. 先来看看我们的目标长什么样子: WGradientProgress的使用方法很简单,主要有展示接口以及隐藏接口,目前显示的位置有两种选择: WProgressPosDown        //progress is on the down border

UI --UIView 及其子类

一 > UIView 1> iOS 概述: iOS 是 Apple 公司的移动操作系统,主要用于iPhone, iPad, iPad Mini , iPod Touch 等移动产品. 借助iOS 我们可以开发视频类 , 美图类 , 音乐类 , 团购类 ,电商类 ,出行类, 生活类 ,生活服务类 , 游戏类 ...应用程序 除此之外,ios还可以与外部设备通信,开发出更多改变生活的产品,比如:智能家居( ios App 控制电视,空调..  ) , 健身产品 ( 将人体的健康状况通过App 直观

UIView及其子类 &#160;UILabel

UI概述 UI(User Interface):?用户界?面,?用户能看到的各种各样的?页?面元素. iOS App = 各种各样的UI控件 + 业务逻辑和算法. 什么是window? window是窗?口,每个app都需要借助window将内容展现给?用户看. 在iOS中,使?用UIWindow类来表?示窗?口,通常?一个应?用程序只创建 ?一个UIWindow对象. window的主要作用是呈现内容给用户,我们不会对window做太多操作. 如何创建window? 通常window的大小(f

iOS 使用UIView的一种有效方法

在一个典型的MVC结构 中,Model部分负责保存目标数据,View部分主要负责实现数据的界面以及将数据显示出来,二者在Controller的操作下协同工作.在iOS应用中,View的实现主要由UIView及其派生类实现,主要由UILabel.UIImageView等等类来显示不同的信息. 这里展示一个demo来说明个人对UIView同数据交互的一种观点,个人意见仅供参考,欢迎讨论. 1.首先建立一个UIView的子类用于定制我们的视图对象 头文件: 1 2 3 4 5 6 7 8 9 10 1

iOS开发——UIView与CALayer详解

UIView与CALayer详解 研究Core Animation已经有段时间了,关于Core Animation,网上没什么好的介绍.苹果网站上有篇专门的总结性介绍,但是似乎原理性的东西不多,看得人云山雾罩,感觉,写那篇东西的人,其实是假 设读的人了解界面动画技术的原理的.今天有点别的事情要使用Linux,忘掉了ssh的密码,没办法重新设ssh,结果怎么也想不起来怎么设ssh远程登 陆了,没办法又到网上查了一遍,太浪费时间了,痛感忘记记笔记是多么可怕的事情.鉴于Core Animation的内

iOS之UI--动态设置NavigationBar的颜色以及透明度

前言:有时候我们需要设置UINavigationController的导航条NavigationBar的颜色为透明度,这时候就需要使用到NavigationBar的barStyle这个属性: 再看QQ空间的仿制项目示例: 代码使用示例:nc.navigationBar.barStyle = UIBarStyleDefault; <备注:下面全部展示的UI图例,window.view背景是绿色的> 一.在没有设置背景图片的情况下: 1.UIBarStyleDefaul 因为是默认,所以可以不设置

iOS 中 UIView 和 CALayer 的关系

UIView 有一个名叫 layer ,类型为 CALayer 的对象属性,它们的行为很相似,主要区别在于:CALayer 继承自 NSObject ,不能够响应事件. 这是因为 UIView 除了负责响应事件 ( 继承自 UIReponder ) 外,它还是一个对 CALayer 的底层封装.可以说,它们的相似行为都依赖于 CALayer 的实现,UIView 只不过是封装了它的高级接口而已. 那 CALayer 是什么呢? CALayer(图层) 文档对它定义是:管理基于图像内容的对象,允许

UIView及其子类

一.UI概述 UI(User Interface):用户界?,用户能看到的各种各样的?面元素. iOS App = 各种各样的UI控件 + 业务逻辑和算法 二.UIView 在手机上显示的内容都是UIView或者是UIView的子类.UIView是用来与用户进行交流的层级上很重要的一个类. UIView继承于UIResponder,所以UIView继承了UIResponder的属性和方法,其中最常用的方法就是触摸事件,这是用户与APP进行信息交流的主要途径之一. UIView的初始化方法是ini