- 博客(24)
- 资源 (3)
- 收藏
- 关注
原创 可以定义每一帧时长内存占用低的序列帧动画实现
iOS做图片播放时基于图片资源过大,产品奇葩要求、、、、、、、省略 这时候我们需要自定义每个播放帧的时长,而iOS本身对播放帧暴露的接口不足以满足我们的需求,所以有了这篇博文,哈哈。 博主写了一个UIImageView的拓展,实现了该需求,使用起来比较方便,基本能满足使用需求。[self.imageView makeKeyFrame1WithContentsOfFiles:[self image
2017-03-31 18:33:13
1859
原创 swift带cocoapods项目编译 Run custom script会卡很长时间的解决办法
Embed Pods Frameworks 其实是pod的这个脚本在XCode编译的时候会复制swift的标准库,导致运行时间过长。 解决办法:选中项目-> bulid settings 点击+号,增加一个user-define COCOAPODS_PARALLEL_CODE_SIGN = true
2017-03-24 14:39:41
919
原创 直播-动态礼物(豪华礼物)
动态礼物一般分为2种实现方案。1.少量图片资源结合代码,实现酷炫的动画效果这种方案的好处是,内存占用率低,包体小。坏处就是,不能很好的支持服务器礼物动态配置,如增加一个新的动效礼物客户端必须发一个版本。2.纯帧动画实现这种方案的好处是,能很好的支持服务器礼物动态配置。坏处就是,iOS系统在实现上默认是一次性把所有图片加载进内存,内存开销太大,包体也大。这里讨论的是第
2017-03-16 17:38:46
4981
原创 让动画过程中的UIView响应点击事件
某天产品提出一个需求,xxxxx情况下出现一个从右向左的跑马灯,点击要跳转到H5。开发一想,不就是个简单的平移动画吗?so easy,答应了下来。键盘噼里啪啦半个小时后,嗯,代码基本可以了,运行起来。喔,动画出来了,完美。点击之后,蛋疼了,为什么没响应?通过一番百度谷歌,原来是iOS的视图在动画过程默认是不响应事件的。通过一番努力终于找到了解决方案。给要添加点击事件的视图,把点击事
2017-01-04 16:44:47
4669
3
原创 嵌套的tableview丝滑的滚动实现
在iOS遇到嵌套的滚动总是不可避免的,但是如何才能做到两个滚动控件无缝的丝滑的滚动呢? 博主最开始考虑的是控制手势优先级来实现,但是尝试过的朋友朋友应该知道,效果一般,不能做到丝滑的交替滑动。后面博主想到了另一种实现方式效果还不错,分享给大家。核心是把最外层的滚动控件设置可以同时响应多个手势。把项目抽出一个demo给大家参考,是一个经典的滑动嵌套交互Demo。Demo下载
2016-12-17 14:27:49
3597
原创 UIImage边缘逐渐透明效果
- (UIImage *) imageBlackToTransparent { // 分配内存 const int imageWidth = self.size.width; const int imageHeight = self.size.height; size_t bytesPerRow = imageWidth * 4; uint32_t
2016-08-15 16:00:57
1830
1
原创 ios7上实现UIVisualEffectView效果
apple开源代码apple自己开源的效果代码,使用比UIVisualEffectView更简单,效率也较高。
2015-12-30 17:19:39
1151
原创 自定义返回按钮后,右滑返回功能失效解决方法
self.navigationController.interactivePopGestureRecognizer.delegate = nil;
2015-12-02 20:53:28
642
原创 iOS7Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something
Unable to create description in descriptionForLayoutAttribute_layoutItem_coefficient. Something is nil 1.添加了baseline约束旧版本不支持2.XCode6以后 默认勾选Constraint to Margin ,旧版本不支持(现在貌似没有这个问题了)其他的暂时没有发
2015-12-01 20:20:07
456
转载 2015 Objective-C 新特性
转自:http://blog.sunnyxx.com/2015/06/12/objc-new-features-in-2015/感谢原作者的付出Overview自 WWDC 2015 推出和开源 Swift 2.0 后,大家对 Swift 的热情又一次高涨起来,在羡慕创业公司的朋友们大谈 Swift 新特性的同时,也有很多像我一样工作上依然需要坚守着 Objective-C 语
2015-11-11 15:18:08
337
原创 IOS沙盒
前几天在华为面试,问到了沙盒,以前项目都不怎么用到这一块,⊙﹏⊙b汗。今天有时间看了一下,挺简单的。NSMutableString *documentPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; NSString *path = [d
2015-07-13 18:07:29
385
原创 ios8.3以上系统5S直接调用objc_msgSend发送静态消息运行崩溃
解决办法如下:NSData* (*objc_msgSendTyped)(id self, SEL _cmd, id _ddservice) = (void*)objc_msgSend;NSData *data = objc_msgSendTyped([getAdd class],@selector(getBaiduAddress:),cl);
2015-07-03 11:14:40
431
转载 iOS中使用blend改变图片颜色
iOS中使用blend改变图片颜色最近对Core Animation和Core Graphics的内容东西比较感兴趣,自己之前也在这块相对薄弱,趁此机会也想补习一下这块的内容,所以之后几篇可能都会是对CA和CG学习的记录的文章。在应用里一个很常见的需求是主题变换:同样的图标,同样的素材,但是需要按照用户喜爱变为不同的颜色。在iOS5和6的SDK里部分标准控件引入了t
2015-07-02 17:46:51
476
转载 UICollectionView
什么是UICollectionViewUICollectionView是一种新的数据展示方式,简单来说可以把他理解成多列的UITableView(请一定注意这是UICollectionView的最最简单的形式)。如果你用过iBooks的话,可能你还对书架布局有一定印象:一个虚拟书架上放着你下载和购买的各类图书,整齐排列。其实这就是一个UICollectionView的表现形式,或者iPad
2015-07-01 17:55:05
347
转载 给自己的类实现下标访问
使用如下的一套方法,可以做到对于我们自己的类,也可以使用下标来访问。而为了达到这样的目的,我们需要在相应类里面加上以下方法,注意,这是ios6的新加的特性对于类似数组的结构:- (elementType)objectAtIndexedSubscript:(indexType)idx; - (void)setObject:(elementType)object atIndexedSub
2015-07-01 17:23:42
524
转载 Objective-C中的Debug表达式
有程序的地方就有bug,有bug的地方就需要debug。对于程序员来说,coding的过程便是制造bug和解决bug。Objective定义了不少表达式来协助debug的流程,将这些表达式用在NSLog中,可以简化部分工作,快速定义到debug的部分。 比如以下代码:-(id) initWithPlayer:(VVPlayer *)aPlayer seatsNum:(int)seatsNum
2015-07-01 15:17:00
386
原创 一个关于类别(category)使用的例子
之前在项目中,突然来了一个需求。记录用户按钮点击情况,就是,用户每点击一个按钮就要记录,并且存入sqlite。然后上传给服务器。刚开始想的是继承UIButton,但仔细一想,这么多button改动的地方太多,也怕有遗漏。最后用的类别来解决,不用改动原有代码。下面是核心代码:重写UIbutton的addTarget方法来做到拦截Target事件,将target的actio
2015-06-10 17:41:33
698
原创 关于ZBar扫描区域的计算
之前公司项目用到了ZBar扫描条形码。今天公司要求不但支持条形码,还得支持二维码。突然想起那时候扫描区域计算的坑。。对于扫描区域的计算,有点心得,分享给大家。先吐槽一下各种拷贝转载的未经考证的对错的博客。其实原理很简单,把你的手机向左横过来。这时屏幕的左上角就是扫描区域计算的原点(0,0)。
2015-06-09 15:19:53
629
原创 IOS GCD使用
1.线程延时执行2.监听多个线程执行,完成后执行某些操作第一步:创建group ,将线程放入group,我创建了3个线程加入分组,3个线程来自2个队列。第二步:创建group监听。以上仅是个人对GCD的一些测试,如有错误,还请指正。
2015-06-08 11:39:31
342
原创 [tableView footerViewForSection] = nil 解决办法
最近比较闲,帮朋友写项目。遇到一个奇葩问题[tableView footerViewForSection:section] = nil .各种百度,各种搜索。最后在stackoverflow找到了解决办法,mark一下。在viewforfooterInsection返回footer view的时候,如果你在后面需要用到[tableView footerViewFor
2015-06-05 10:43:32
2607
原创 页面截图并存手机相册
好久没写了,一直没有写博客的习惯。 UIGraphicsBeginImageContext(self.view.bounds.size); [self.view.layerrenderInContext:UIGraphicsGetCurrentContext()]; UIImage *image=UIGraphicsGetImageFromCurrentIm
2015-06-04 18:12:04
314
转载 iOS Core Animation 简明系列教程
iOS Core Animation 简明系列教程 看到无数的CA教程,都非常的难懂,各种事务各种图层关系看的人头大。自己就想用通俗的语言翻译给大家听,尽可能准确表达,如果哪里有问题,请您指出我会尽快修改。1.什么是Core Animation?它是一套包含图形绘制,投影,动画的OC类集合。它就是一个framework。通过CoreAnimation提供的接口,你可以方
2014-11-19 11:26:49
289
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人