iOS开发:UItableView中的单元格背景渐变
作者:本站整理 时间:2015-12-28
iOS iPhone 开发 UItableView中的单元格背景渐变
渐变如果用背景图片,会让你的app臃肿。给APP瘦身,我们可以使用代码来解决渐变的问题。这篇文章是解决表格中的单元格的简便问题,同时解决单元格外边框问题。
1:设置好开始颜色与结束颜色。推荐一个小工具,在chrome浏览器上安装一个扩展 chroma 这个东西能帮助你很好的选择颜色。
下载地址:https://chrome.google.com/webstore/detail/chroma/gefgglgjdlddcpcapigheknbacbmmggp
2:接下来就是代码了
创建一个 CellbackgroundVIew
CellbackgroundVIew.h
- #import <UIKit/UIKit.h>
- @interface CellbackgroundVIew : UIView
- @end
CellbackgroundVIew.m
- #import "CellbackgroundVIew.h"
- @implementation CellbackgroundVIew
- - (void)drawRect:(CGRect)rect
- {
- CGContextRef context = UIGraphicsGetCurrentContext();
- CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceRGB();
- // 创建起点颜色 白色
- CGColorRef beginColor = CGColorCreate(colorSpaceRef, (CGFloat[]){1.0f, 1.0f, 1.0f, 1.0f});
- // 创建终点颜色 灰色 RGB(212,212,212) 这个色值我们可以从chroma扩展插件中选择
- <pre class="brush:cpp; toolbar: true; auto-links: false;"> //(CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f} 0.83是 212/255的值</pre>
- CGColorRef endColor = CGColorCreate(colorSpaceRef, (CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f});
- CGRect paperRect = self.bounds;
- CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
- CGFloat locations[] = {0.0,1.0};
- NSArray *colors = [NSArray arrayWithObjects:(__bridge id)beginColor,(__bridge id)endColor, nil];
- CGGradientRef gradient = CGGradientCreateWithColors(colorSpace, (CFArrayRef)CFBridgingRetain(colors), locations);
- CGPoint startPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMinY(rect));
- CGPoint endPoint = CGPointMake(CGRectGetMidX(rect), CGRectGetMaxY(rect));
- CGContextSaveGState(context);
- CGContextAddRect(context, rect);
- CGContextClip(context);
- CGContextDrawLinearGradient(context, gradient, startPoint, endPoint, 0);
- CGContextRestoreGState(context);
- CGGradientRelease(gradient);
- CGColorSpaceRelease(colorSpace);
- //add line stroke
- CGRect strokeRect = CGRectInset(paperRect, 5.0, 5.0);
- CGColorRef lineColor = CGColorCreate(colorSpaceRef, (CGFloat[]){0.83f, 0.83f, 0.83f, 1.0f});
- CGContextSetStrokeColorWithColor(context, lineColor);
- CGContextSetLineWidth(context, 1.0);
- CGContextStrokeRect(context, strokeRect);
- }
- @end
在表格中我们的cell 可以设置backgroundview
- [cell setBackgroundView: [[CellbackgroundVIew alloc] init]];
相关文章
相关推荐
-
金山WPS办公软件官方版 v10.1.0.6065
-
猎豹浏览器(无痕浏览器) V5.1.76.9003官方版
-
浩辰CAD看图王官方版 V4.5
-
SRWare Iron绿色版 V54.0.2850
-
拷优CopyU3.7.500.116(U盘拷贝工具)绿色免费版
-
360 Total Security(安全防护软件)5.0.0.1977官方下载
-
掌上用友官方版
-
有道云笔记官方版 v5.0.0.0
-
可乐视频社区电脑版 v4.6.3
-
Stellarium(虚拟天文馆) 0.13.2官方免费版
-
StrongRecovery 3.7.0.0(数据恢复软件)
-
敏迅快捕 V2.0.0.0官方版(屏幕抓取工具)
-
Artweaver PlusV5.0.5(绘画编辑工具)官方版
-
FolderIco V4.0官方版(文件夹图标修改工具)
-
AIDA64 Extreme Edition中文版 v5.80.4000
-
WiFi共享大师 V2.2.1.4官方版(WiFi Master)