首页 > 其他分享 >iOS开发 UItableView中的单元…

iOS开发 UItableView中的单元…

时间:2023-04-30 11:04:27浏览次数:57  
标签:CellbackgroundVIew 1.0 UItableView iOS 0.83 rect context 单元 CGFloat


iOS iPhone 开发 UItableView中的单元格背景渐变

渐变如果用背景图片,会让你的app臃肿。给APP瘦身,我们可以使用代码来解决渐变的问题。这篇文章是解决表格中的单元格的简便问题,同时解决单元格外边框问题。

1:设置好开始颜色与结束颜色。推荐一个小工具,在chrome浏览器上安装一个扩展 chroma 这个东西能帮助你很好的选择颜色。

下载地址:https://chrome.google.com/webstore/detail/chroma/gefgglgjdlddcpcapigheknbacbmmggp

iOS开发 UItableView中的单元…_iOS


CellbackgroundVIew 

CellbackgroundVIew.h



1. 
2.    @interface CellbackgroundVIew : UIView 
3.    @end

CellbackgroundVIew.m

1. "CellbackgroundVIew.h"
2.    @implementation CellbackgroundVIew 
3.    - (void)drawRect:(CGRect)rect 
4.    { 
5.        CGContextRef context = UIGraphicsGetCurrentContext(); 
6. 
7.        CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();    
8.        // 创建起点颜色 白色
9.        CGColorRef beginColor = CGColorCreate(colorSpaceRef, (CGFloat[]){1.0f, 1.0f, 1.0f, 1.0f}); 
10.        // 创建终点颜色 灰色 RGB(212,212,212) 这个色值我们可以从chroma扩展插件中选择
11.    class="brush:cpp; toolbar: true; auto-links: false;">   //(CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f} 0.83是 212/255的值
12.    CGColorRef endColor = CGColorCreate(colorSpaceRef, (CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f}); 
13.        CGRect paperRect = self.bounds; 
14.        CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB(); 
15.        CGFloat locations[] = {0.0,1.0}; 
16.        NSArray *colors = [NSArray arrayWithObjects:(__bridge id)beginColor,(__bridge id)endColor, nil]; 
17.        CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef)CFBridgingRetain(colors), locations); 
18.        CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect)); 
19.        CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect)); 
20.        CGContextSaveGState(context); 
21.        CGContextAddRect(context, rect); 
22.        CGContextClip(context); 
23.        CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0); 
24.        CGContextRestoreGState(context); 
25.        CGGradientRelease(gradient); 
26.        CGColorSpaceRelease(colorSpace); 
27.        //add line stroke
28.        CGRect strokeRect = CGRectInset(paperRect, 5.0, 5.0); 
29.        CGColorRef lineColor = CGColorCreate(colorSpaceRef, (CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f}); 
30.        CGContextSetStrokeColorWithColor(context, lineColor); 
31.        CGContextSetLineWidth(context, 1.0); 
32.        CGContextStrokeRect(context, strokeRect); 
33.    } 
34.    @end

在表格中我们的cell 可以设置backgroundview


1. setBackgroundView: [[CellbackgroundVIew alloc] init]];

标签:CellbackgroundVIew,1.0,UItableView,iOS,0.83,rect,context,单元,CGFloat
From: https://blog.51cto.com/u_548275/6237791

相关文章

  • iOS数据存储的四种方案对比
    你是用什么方法来持久保存数据的?这是在几乎每一次关于iOS技术的交流或讨论都会被提到的问题,而且大家对这个问题的热情持续高涨。本文主要从概念上把“数据存储”这个问题进行剖析,并且结合各自特点和适用场景给大家提供一个选择的思路,并不详细介绍某一种方式的技术细节。谈到数据......
  • iOS开发UITableView基本使用方法总…
    UITableView基本使用方法1.首先,Controller需要实现两个delegate,分别是UITableViewDelegate和UITableViewDataSource2.然后UITableView对象的delegate要设置为self。3.然后就可以实现这些delegate的一些方法拉。(1)-(NSInteger)numberOfSectionsInTableView:(UITableView*......
  • Markdown表格-换行、合并单元格
    1.表格中对其、换行处理1.1一般我们都会这样用表格如下:|排名|姓名||--|--||第一名|隔壁老王||第二名|隔壁小王、隔壁小小王|实现效果图:排名姓名第一名隔壁老王第二名隔壁小王、隔壁小小王1.2当然这里也可以通过设置|:--|左对齐,|--:|右对齐比如下面的......
  • Vue 异步通信Axios
    使用Axios实现异步通信需要先导入cdn:<scriptsrc="https://unpkg.com/[email protected]/dist/axios.min.js"></script>使用到的数据data.json{"name":"kuang","url":"https://www.bilibili.com/?spm_id_from=333.788.0......
  • dell 7080m black mac bios setup
    BISO设置参考的以下帖子,改了一部分内容USBWakeSupport和WakeonLAN/WLAN保持了默认,因为我用不到网络唤醒功能。​https://github.com/3dudu/dell-optiplex-7080-hackintosh-opencore设置项   值SATAOperation   AHCIIntegratedNIC   EnabledSecureBootEnable ......
  • (2023)iOS17开放侧载的网友观点调研
    前言因为欧盟方面的强制措施,不出意外的话,iOS17开始苹果将被迫开放侧载。虽然具体如何开放的细节还不确定,但是这毕竟对苹果,开发者,以及用户都是不小的事情。整理了下网友们(主要是开发者们),对侧载的一系列看法和猜测。因为很多意见是相左的,所以整理成了反面观点和正面观点。反面......
  • Chrome Kiosk Mode All In One
    ChromeKioskModeAllInOneChrome信息亭KioskMode使浏览器隐藏边框来全屏展示WebApp页面,一般用于商场超市、快餐店等大屏自助点餐场景demoshttps://www.bilibili.com/video/BV1UK4y147uh/?t=146(......
  • iOS MachineLearning 系列(4)—— 静态图像分析之物体识别与分类
    iOSMachineLearning系列(4)——静态图像分析之物体识别与分类本系列的前几篇文件,详细了介绍了Vision框架中关于静态图片区域识别的内容。本篇文章,我们将着重介绍静态图片中物体的识别与分类。物体识别和分类也是MachineLearning领域重要的应用。通过大量的图片数据进行训练后,模型......
  • 【解决】axios 下载文件 Failed to read the 'responseText' property from 'XMLHttp
    主要解决以下两个问题问题一:idm一些网站不允许请求同一文件两次故障原因:IDM在发神经因为它检测到浏览器集成插件未安装,所以诱导你安装。实际上,装了插件问题也会出现。改参数都没用。1.很可能是你点击网页的下载链接有问题(换个网页下载试试,就不提示了),Edge浏览器一直会欺......
  • Windows/Android/iOS 等常见 User-Agent 大全
    UserAgent中文名为用户代理,简称UA,是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。Python爬虫通过伪装UA可以绕过某些检测。以下为搜集的常见的各浏览器的User-Agent,其中:安卓操作......