
OC
niumanxx
这个作者很懒,什么都没留下…
展开
-
iOS 获取一张图片的主题色(分别用swift和OC实现)
需求背景 有时候我们会有这样的需求,用户从相册选择一张照片,返回展示的时候,除了展示照片还要让整体背景也是和照片相近颜色,最近自己写了一个图片加水印的项目,分别用swift和OC实现相关功能。 代码部分 主要逻辑: 将图片按比例缩小,因为后续遍历图片每个像素点,循环次数是图片width x height,如果直接原图去遍历,可能一次循环就要跑几十万、百万次,需要时间非常久,所以要将图片缩小。 获取图片的所有像素的RGB值,每组RGB使用数组存储(可以根据自己的需求过滤部分转载 2022-04-19 10:59:59 · 2467 阅读 · 0 评论 -
iOS Unable to Capture View Hierarchy调试视图层级出错解决办法
点击Debug view hierarchy的时候提示错误:"xxx工程"did not respond to the debugger's request for a view hierarchy snapshot. Please try again once the process becomes responsive. You can also investigate why the process is unresponsive by profiling it with the "Time Prof原创 2022-04-06 14:45:18 · 3573 阅读 · 0 评论 -
iOS 实现CALayer转换成UIImage、UIColor的方法
开发过程中遇到需要将layer渐变色转换成color作为背景色的问题,于是使用下面方法实现- (UIImage *)imageFromLayer:(CALayer *)layer{ UIGraphicsBeginImageContextWithOptions(layer.frame.size, NO, 0); [layer renderInContext:UIGraphicsGetCurrentContext()]; UIImage *outputImage = UIG...原创 2021-08-03 14:20:00 · 957 阅读 · 0 评论 -
转《抖音研发实践:基于二进制文件重排的解决方案 APP启动速度提升超15%》
背景启动是App给用户的第一印象,对用户体验至关重要。抖音的业务迭代迅速,如果放任不管,启动速度会一点点劣化。为此抖音iOS客户端团队做了大量优化工作,除了传统的修改业务代码方式,我们还做了些开拓性的探索,发现修改代码在二进制文件的布局可以提高启动性能,方案落地后在抖音上启动速度提高了约15%。本文从原理出发,介绍了我们是如何通过静态扫描和运行时trace找到启动时候调用的函数,然后修改编译参数完成二进制文件的重新排布。原理Page Fault进程如果能直接访问物理内存无疑是很不安.转载 2020-10-30 10:52:53 · 268 阅读 · 1 评论 -
腾讯im接入流程
1 sdk接入:从https://www.qcloud.com/product/im下载sdk ,https://www.qcloud.com/document/product/269/1565sdk集成流程。2 结合项目:在集合第三方初始化appkey的头文件中,全局化相关应用配置(定义宏) 应用配置地址:https://console.qcloud.com/avc 需要全局化的字段:SdkAppId accountType (如果需要离线推送,则需要加一...原创 2020-09-11 15:15:23 · 4931 阅读 · 3 评论 -
Lottie-iOS图片遮罩类型引起的BUG
由于项目需要,需要添加动态图,我们的UI大佬说用Lottie播放Json实现。目标是实现UI图1这种币在箱子里漂浮的效果。图1于是UI给了我一张箱子图和一张金币的图以及一个.json类型的动画文件。接着我就用Lottie-ios库里的方法调用json文件播放动画了,[LOTAnimationView animationNamed:@"box.json"];然后运行的图就成了图2这样的了...原创 2019-01-05 15:55:19 · 2612 阅读 · 0 评论 -
iOS开发--使用脚本自动化打包(极简版)
首先安装正常打包流程Archive生成图1这个文件夹,取出里面的ExportOptions.plist文件放到桌面(以后不再需要重复这步,只需保存好ExportOptions.plist文件即可)图1然后下载自动化打包脚本链接: https://pan.baidu.com/s/1fP88KVrfLn72a_w1GDguqQ提取码: kpu7 将脚本放入工程里面,如图2图2...原创 2019-01-10 16:38:12 · 2894 阅读 · 0 评论 -
OC常用正则表达式-谓词
/*! * 是否为电话号码【简单写法】 * * @param pattern 传入需要检测的字符串 * * @return 返回检测结果 是或者不是 */+(BOOL)SJ_isPhoneNumber:(NSString *)phoneNum{ NSString *MOBILE = @"^1(3[0-9]|4[57]|5[0-35-9]|8[0-9]|70)\\d{...原创 2018-09-10 15:50:20 · 550 阅读 · 0 评论 -
AFNetworking实现程序重新启动时的断点续传
今天需要用AFNetworking实现断点续传的功能,但是在进行了一番研究之后,发现AFNetworking虽然支持下载文件的暂停和继续,但是程序重新启动后再次下载无法进行续传。网上有说可以通过AFDownloadRequestOperation这个AFNetworking的扩展库来实现重新启动后的续传,但是经过本人测试,这个库在最新的AFNetworking上会报错,无奈之下,参考他的代码,自己...转载 2018-09-06 17:42:43 · 355 阅读 · 0 评论 -
OC 判断时间戳距离现在是否大于N小时
//判断时间戳(time)距离现在是否大于(specifiedTime)小时- (BOOL)compareTime:(NSString *)time greaterThanSpecifiedTime:(CGFloat)specifiedTime{ //MicrosecondsTimeStamp为当前时间,毫秒级 NSTimeInterval balance = M...原创 2018-08-16 17:15:08 · 1683 阅读 · 0 评论 -
OC 去除小数点后面多余的0,不受位数限制
//去除小数点后面多余的0- (NSString *)removeRedundantZeroOfPointAfter:(NSString *)string{ NSArray *stringArr = [string componentsSeparatedByString:@"."]; NSString *resultNum = @"0"; ...原创 2018-08-16 17:07:35 · 1636 阅读 · 0 评论