iis服务器助手广告广告
返回顶部
首页 > 资讯 > 服务器 >【iOS】设置背景渐变色
  • 502
分享到

【iOS】设置背景渐变色

iosobjective-c开发语言 2023-09-17 18:09:34 502人浏览 安东尼
摘要

drawRect函数 主要负责iOS的绘图操作,程序会自动调用此方法进行绘图。我在这个函数中绘制渐变背景色。 方法定义: -(void)drawRect:(CGRect)rect; 重写此方法,执行重

drawRect函数

主要负责iOS的绘图操作,程序会自动调用此方法进行绘图。我在这个函数中绘制渐变背景色。

方法定义:

  • -(void)drawRect:(CGRect)rect;
    重写此方法,执行重绘任务
  • -(void)setNeedsDisplay;
    标记为需要重绘,异步调用drawRect
  • -(void)setNeedsDisplayInRect:(CGRect)rect;
    标记为需要局部重绘

调用机制:

  1. 系统自动调用,在Controller->viewDidLoad之后。但是如果在UIView初始化时没有设置rect大小,将直接导致drawRect不被自动调用。
  2. 直接调用setNeedsDisplay,或者setNeedsDisplayInRect:触发drawRect:,但是有个前提条件是rect不能为0.。

绘制方法

利用CALayer或CGGradientRef绘制。

CALayer

利用CALayer的子类CAGradientLayer绘制渐变背景色。

// 初始化CAGradientLayer* layer = [[CAGradientLayer alloc] init];    // 颜色数组,设置需要过渡的颜色(CGColor对象)。layer.colors = @[(__bridge id)[UIColor colorWithRed:0.439f green:0.522f blue:0.714f alpha:1].CGColor, (__bridge  id)[UIColor colorWithRed:0.529f green:0.655f blue:0.851f alpha:1].CGColor, (__bridge  id)[UIColor whiteColor].CGColor];    // 开始位置与结束位置。(0, 0)左上角,(1, 1)右下角layer.startPoint = CGPointMake(0.5, 0);layer.endPoint = CGPointMake(0.5, 1);// layer大小layer.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height / 3);    [self.layer addSublayer:layer];

展示:
在这里插入图片描述

CGGradientRef

// 图形上下文    CGContextRef ctx = UIGraphicsGetCurrentContext();    // 颜色空间    CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();        // 创建颜色数组    // 由于指定RGB颜色空间,四个数组元素代表一个颜色(r, g, b, alpha)    CGFloat compoents[12] = {        0.2, 0.2, 0.2, 1,        0.4, 0.4, 0.4, 1,        0.8, 0.8, 0.8, 1    };        // 渐变位置(0~1),数组元素个数不小于颜色数    CGFloat locations[3] = {0, 0.4, 0.8};        // 创建梯度上下文    CGGradientRef gradient = CGGradientCreateWithColorComponents(colorSpace, compoents, locations, 3);        // 绘制线性渐变        CGContextDrawLinearGradient(ctx, gradient, CGPointMake(self.frame.size.width/2, 0), CGPointMake(self.frame.size.width/2, self.frame.size.height/3), kCGGradientDrawsAfterEndLocation);        // 释放颜色空间    CGColorSpaceRelease(colorSpace);

展示:
在这里插入图片描述

来源地址:https://blog.csdn.net/m0_63852285/article/details/129344971

--结束END--

本文标题: 【iOS】设置背景渐变色

本文链接: https://www.lsjlt.com/news/411279.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【iOS】设置背景渐变色
    drawRect函数 主要负责iOS的绘图操作,程序会自动调用此方法进行绘图。我在这个函数中绘制渐变背景色。 方法定义: -(void)drawRect:(CGRect)rect; 重写此方法,执行重...
    99+
    2023-09-17
    ios objective-c 开发语言
  • CSS渐变背景色怎么设置
    CSS渐变背景色可以通过`background`属性的`linear-gradient()`函数来设置。语法:```backgrou...
    99+
    2023-10-12
    CSS
  • Android 渐变背景色
    目录 一、背景 二、渐变 2.1 线性渐变背景色         1.新建资源文件         2.编辑样式文件         3.使用         4.编辑样式参数说明 2.2 圆角按钮渐变背景色 2.3 放射渐变 2.4 扫描...
    99+
    2023-09-15
    android android studio xml
  • css中如何设置背景颜色渐变
    在css中设置背景颜色渐变的方法:1.创建div标签;2.设置标签宽高;3.使用background的-webkit-linear-gradient属性设置渐变;在css中设置背景颜色渐变的方法首先,在页面中创建一个div标签; ...
    99+
    2024-04-02
  • css3如何将背景设置为渐变色
    小编给大家分享一下css3如何将背景设置为渐变色,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! 设置...
    99+
    2024-04-02
  • html怎么设置网页背景颜色渐变
    要设置网页背景颜色渐变,可以使用 css 中的 background-image 属性。首先定义渐变颜色(如 blue, green),设置渐变方向(如 to right),设置渐变位置...
    99+
    2024-04-05
    css
  • css渐变背景色设置要注意什么
    在设置CSS渐变背景色时,需要注意以下几点:1. 渐变色值的格式:CSS渐变背景色可以使用线性渐变(linear-gradient)...
    99+
    2023-09-22
    css
  • CSS背景色渐变写法
    这篇文章主要介绍“CSS背景色渐变写法”,在日常操作中,相信很多人在CSS背景色渐变写法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS背景色渐变写法”的疑惑有所帮助!接...
    99+
    2024-04-02
  • Android背景Shape颜色渐变—线性渐变
    Android背景颜色渐变可以通过在res/drawable里定义一个xml文件(xml文件名称可根据个人定义): 一、color_gradient.xml代码: 1、android:angle 渐变方向角度 2、android:...
    99+
    2023-09-07
    android xml
  • AndroidUI动态设置带有Stroke渐变色背景Drawable
    目录摘要代码中设置Stroke渐变代码实现如何使用摘要 每天一个UI小技巧,提高开发效率 UI开发中繁琐的drawable xml开发,不同的view背景样式一致,却因为部分设计区...
    99+
    2023-01-28
    Android UI Stroke渐变色背景 Android UI 动态设置
  • 如何使用css3背景渐变中的透明度来设置不同颜色的背景渐变
    这篇文章主要讲解了“如何使用css3背景渐变中的透明度来设置不同颜色的背景渐变”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用css3背景渐变中的透明...
    99+
    2024-04-02
  • iOS给border设置渐变色的案例
    这篇文章给大家分享的是有关iOS给border设置渐变色的案例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。给view设置渐变色通过4行代码就可以给一个view设置渐变色:let view =...
    99+
    2023-06-08
  • css3如何编写浏览器背景渐变背景色
    这篇文章主要介绍css3如何编写浏览器背景渐变背景色,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!效果如下:知识点:rgb全色循环算法,HEX与RGB颜色转换算法、CSS3颜色渐变,...
    99+
    2024-04-02
  • react-native实现渐变色背景过程
    目录react-native 渐变色背景react-native学习记录滚动条轮播图示例渐变色ScrollableTabView默认页面ScrollableTabView背景颜色Sc...
    99+
    2024-04-02
  • html设置背景径向渐变的方法
    这篇文章主要介绍了html设置背景径向渐变的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。在html中,可以使用radial-gradient函数设置径向渐变,只需要在元素background属性里加入“backgr...
    99+
    2023-06-15
  • css实现div背景色渐变色代码分享
    这篇文章主要讲解了“css实现div背景色渐变色代码分享”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“css实现div背景色渐变色代码分享”吧!效果图:代码...
    99+
    2024-04-02
  • css怎么实现背景颜色渐变效果
    本文小编为大家详细介绍“css怎么实现背景颜色渐变效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“css怎么实现背景颜色渐变效果”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。首先,在页面中创建一个div标签;...
    99+
    2023-07-04
  • css中如何实现背景色渐变动画
    这篇文章主要为大家展示了“css中如何实现背景色渐变动画”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“css中如何实现背景色渐变动画”这篇文章吧。通过本文,你能...
    99+
    2024-04-02
  • css好看的渐变色背景怎么实现
    要实现CSS中的渐变色背景,可以使用CSS的linear-gradient()函数。linear-gradient()函数可以在指定...
    99+
    2023-08-08
    css
  • CSS容器背景如何实现颜色渐变
    这篇文章主要介绍了CSS容器背景如何实现颜色渐变,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。语法background: linear-gradient(direc...
    99+
    2023-06-08
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作