-
自定义表视图刷新和加载控件
听传言说公司准备使用自定义的上拉和下拉控件,以前研究过,但没有用到实际项目中,不管传言是真是假,重新学习,继续进步!这里也贴出我写的DEMO,欢迎使用和Star!刷新和加载控件原理是一样,这里就只讲刷新控件,我们先不去研究效果,先来分析一下功能实现,一个常用的刷新控件工作分以下几步: 1.拖动表视图下拉,控件跟随滑动视图慢慢出现 2.滑动到限定距离,直接松手就触发刷新动作,开始刷新,刷新效果停留顶端;若未松手继续滑动到限定距离以内,不执行操作 3.刷新完成,去掉刷新效果,视图恢复原位...…
-
录音与播放以及网络音频播放
公司下个版本计划要做音频的录制与播放,这块没怎么接触过,一边学习一边踩坑,下面就给大家做个分享,共同进步。这里也贴出我写的DEMO,欢迎使用和star!录音音频任务初始化我们这里用的是NB的AVFoundation框架,这里使用AudioSession来对音频任务做处理,无论是录制还是播放都需要做这一步。初始化任务:AVAudioSession *session = [AVAudioSession sharedInstance]; NSError *sessionEr...…
-
编程思想小觑
最近在研究RAC,发现编程思想这一个很有趣且有用的东西,就大概研究了一下“链式编程”、“函数式编程”、“响应式编程”几种主要的编程思想,发现对提高代码质量和业务水平很有帮助,下面就挨个介绍一下,也可以直接看我的DEMO链式编程思想特点:是将多个操作(多行代码)通过点号(.)链接在一起成为一句代码,使代码可读性好。类似a(1).b(2).c(3),方法的返回值是block,block必须有返回值(本身对象),block参数(需要操作的值)代表:masonry框架、SDAutoLayout框架...…
-
iOS启动速度的优化
最近我们APP安卓端做了个小优化,将网络框架做了更换,并且减少了启动时候的一些初始化。然后CTO拿着一个安卓手机过来对我说,安卓优化后比你们快多了。啥?不可能,苹果手机大几千呢!玩儿呢?!不服,下班拿了一个安卓2000多块的手机跟我的苹果手机做了一下APP打开比较,苹果完败!必须不服,咱也要优化打开速度!很多地方说测一下main方法到- (BOOL)Application:(UIApplication *)Application didFinishLaunchingWithOptions:...…
-
iOS的https认证(二)
上篇文章讲了iOS和服务器如何从官方机构请求CA证书进行https配置,这里我们来讲讲如何自建证书来配置https,针对AFNetworking网络框架和苹果自带框架NSURLConnection。AFNetworking1.把服务器给你的自签证的证书放入bundle一般是.cer文件2.创建afnnetworking 安全策略对象,并设置发起请求manager的安全策略属性.设置了安全策略属性,afnnetworking会自动扫描bundl里的证书.3.最坑的是 iOS9新出的App T...…
-
iOS的https认证(一)
苹果官方在2017年年初要求APP必须配置https(这里可以从喵神的博客了解),可是后来不知啥原因搁浅了,但这个东西终究还是要做的。不然随便一个抓包工具(charles等)随随便便就能抓到你所请求的数据,这些数据如果是明码的后果很严重(不是指明文),可以通过这些数据来判定服务端部署的数据接口,更能够嗅探到服务端的漏洞。而现在绝大部分APP使用的都是AFNetworking这个网络框架,我们就对AFNetworking如何配置https来做探讨。服务器端如何实现https这里就不在赘述ht...…
-
iOS的静态与动态内存分析
近段时间app处于优化阶段,发现在一些列表页面查看数据久一点就会出现莫名其妙的崩溃。连上Xcode一查,也不是必现,但频率比较高,而且没有崩溃提示,是手机和Xcode直接断开连接。再看着性能指示进行操作,果不其然,每次内存飙升到一定程度就会崩溃。一个app想要走向成熟,这种问题必须解决,这里就需要谈到iOS的静态与动态内存分析静态内存分析优点:分析内存非常快,已经可以对整个项目的内存进行分析。缺点:不运行程序,直接对代码进行分析。根据代码的上下文语法结构,看语法是否有问题。(不够准确,但是...…
-
检测app性能并实现优化-图形性能篇
很多尚未成熟的App都会存在很多问题,如卡顿、耗电、内存管理等等,包括我们项目App。今天有空闲时间,就决定对部分性能进行优化,当然工具主要就是用Xcode自带的Core Animation了。话不多说,开干。Core Animation启动运行1.打开Xcode对当前项目Profile,点击Product再点击Profile2.这时就会打开 Profiling Template 选项对话框:3.选择Core Animation即可4.点击红色运行按钮启动App,随后操作App就能看到FP...…
-
仿微信朋友圈视频剪切功能
写在前面公司项目最近有个小视频功能,上传的视频最长只有15秒,所以需要实现一个视频剪辑的功能。发现微信有这个功能,便准备仿微信的交互写一个,结果遇到不少坑,分享给大家让大家少走弯路。撸起袖子说干就干。分析需求我们先看一看微信的界面微信视频裁剪界面1.页面下部拖动左边和右边的白色竖条控制剪切视频的开始和结束时间,预览界面跟随拖动位置跳到视频相应帧画面,控制视频长度最长15秒,最短5秒2.拖动下部图片预览条,视频预览画面跳转到左边白条停留处的帧画面3.下部操作区域拖动操作时,视频暂停,松手后视...…
-
关于修改系统自带的导航栏
今天遇到了一个这样的需求,需要在导航栏加上searchBar。但我直接加上之后出现了这种情况:自己定义的返回按钮距离左边太远,视觉效果不好,但我无论怎么调整这个button的frame都解决不了问题,后来找到了这个解决方案://设置导航栏,并调整自定义返回按钮的位置和大小UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpa...…