iOS对项目中所有加阴影的代码进行优化

1、 对项目中所有加阴影的代码进行优化

目前项目中尤其是表格单元格中使用如下加阴影代码严重影响性能(5.2.5航班查询结果页卡顿的原因)

    self.cellBG.layer.shadowColor = [[UIColor colorWithRed:0.8 green:0.8 blue:0.8 alpha:1] CGColor];
    self.cellBG.layer.shadowOffset = CGSizeMake(1, 1);
    self.cellBG.layer.shadowOpacity = 0.5;
self.cellBG.layer.shadowRadius = 2.0;

优化方案如下:

使用setShadowPath,优点:解决性能问题。缺点:需要获取到视图的宽和高,对于自适应的cell

   shadowView.layer.shadowColor = [UIColor redColor].CGColor;
    shadowView.layer.shadowOpacity = 0.5;
    shadowView.layer.shadowRadius = 1.0;
    shadowView.layer.shouldRasterize = YES;
    shadowView.layer.rasterizationScale = [UIScreen mainScreen].scale;
    CGPathRef path = [UIBezierPath bezierPathWithRect:CGRectMake(0.5, 3.5, shadowView.bounds.size.width, shadowView.bounds.size.height)].CGPath;
[shadowView.layer setShadowPath:path];

没用过,不明觉厉。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-03 20:54:01

iOS对项目中所有加阴影的代码进行优化的相关文章

在一个项目中同时使用Swift和Objective-C代码混合编程的方法

主要介绍了在一个项目中同时使用Swift和Objective-C代码的方法,在一个工程中同时使用Swift和Objective-C混合语言编程的方法. Swift 与 Objective-C 的兼容能力使你可以在同一个工程中同时使用两种语言.你可以用这种叫做 mix and match 的特性来开发基于混合语言的应用,可以用 Swfit 的最新特性实现应用的一部分功能,并无缝地并入已有的 Objective-C 的代码中. Mix and Match 概述 Objective-C 和 Swift

iOS:项目中疑难Crash问题集锦

项目中疑难Crash问题集锦 iOS App运行中遇到Crash的情况相信大家都遇到过,开发和者测试中遇到了可能很方便的办法就是直接拿着设备连接一下,然后使用Xcode自带的工具就可以解析出Crash地址了.对于线上App运行时的Crash收集也有很多好用的第三方工具,具有代表性的就是Crashlytics,通过打包时上传dSYM文件,收集到的Crash就可以解析为可读的格式了. 尽管Crashlytics功能已经很强大了,统计出来的Crash信息也足够详细,还是会有一些难缠的问题,例如程序直接

IOS 读取项目中的plist文件

在项目中,经常需要读取配置文件,现在就来看看读取plist配置文件的代码 NSBundle *bundle = [NSBundle mainBundle]; NSString *plistPath = [bundle pathForResource:@"fileName" ofType:@"plist"]; NSDictionary *dict = [[NSDictionary alloc]initWithContentsOfFile:plistPath];

iOS 之项目中遇到的问题总结

昨天去一家公司面试,面试官问了我在项目开发中遇到过哪些问题,是什么引起的,怎样解决的? 当时由于有点小紧张只说出了一两点,现在就来好好总结一下. 问题: 1.两表联动 所谓的两表联动就是有左右两个表格,左边的表格由二个分类构成,大分类用HeaderView 展示,小分类用cell 展示;右边的表格负责展示分类下的商品.  通过左边的分类点击展示对应右边表格的商品好处理,通过tableView的didSelectRowAtIndexPath 方法就能解决,可关键是滑动右边的表格要对应选中左边的分类

ios在项目中打开word文档、ppt等总结

最近在项目开发中遇到下载附件文档预览需求,在这里总结一下我的实现方法,本文最后会附带我写的demo下载地址 这里我总结了三种实现方法(1)用webView预览(2)通过UIDocumentInteractionController实现跳转(3)应用Quick Look系统框架,下面依次介绍各个方法实现 首先来看用webView这个比较常用,不做过多解释,代码如下: _webView = [[UIWebView alloc]initWithFrame:self.view.bounds]; _web

iOS 在项目中添加支付宝SDK

1.打开客户端demo,以下是需导入到你工程的文件和文件夹: 2.Build Settings -> search path; 在Framework Search Paths中添加AlipaySDK.framework 在Header Search Paths中添加Util和openssl 3.Build Phases -> Link Binary...; 注意:在iOS 9中,动态库文件后缀由.dylib改成了.tbd,所以你可能看到以前的帖子上是libz.dylib. 再次编译试一下吧,g

iOS 修改项目中的Created by 和 Copyright

修改 Created by xxx  系统偏好设置->用户群组->当前用户(然后左下角开锁)右键高级选项->全名: 修改 Copyright xxx  打开项目文件夹 找到.xcodeproj文件 右键显示包含内容 找到project.pbxproj文件 然后打开 修改ORGANIZATIONNAME = "xxx";

shiro真正项目中的实战应用核心代码!!!

欢迎转载!!!请注明出处!!! 说道shiro的学习之路真是相当坎坷,网上好多人发的帖子全是简单的demo样例,核心代码根本没有,在学习过程中遇到过N多坑. 经过自己的努力,终于整出来了,等你整明白之后发现,确实没那么难,只是没人告诉你,自己去想向确实不好办,只能通过看源码加上自己猜想,不断尝试. 直接看主题.我就直接说受权这了,不说认证登录了,这种帖子n多个,我要说的是真正的核心代码!!!含金量超高!!!欢迎转载!请注明出处!!! 首先看先自定义的Realm: /** * 授权查询回调函数,

项目中考核参数映射集代码片段

1. QuestionnairesService类中:         /**  * 获取岗位id-问卷id的映射, 一个岗位可能会对应两份试卷(业绩卷.能力态度卷)  *   * @return  */ public Multimap<Long, Long> getPostQuestMap() { // 当前考评周期 AppraisalPeriod period = testingService.getLast().getAppraisalPeriod(); Multimap<Long