- 博客(12)
- 收藏
- 关注
原创 根据传入的数据绘制圆环,以及以绘画形式自定义图片为圆形
昨天在家躺着正舒坦那,一哥们又找我了。没错,是又。就是之前让我写个小DEMO参考一下圆环绘制的那个人。好吧,这次是问我如何自定义绘制一个圆环用来展示数据的比例。我当时很惊奇,这个你搜下就会有的还用来问我吗?然后他告诉我,还有一个问题。将展示的图片设置为圆形。而且是画图的形式来展示。好吧。。不是很明白为什么这么要求。。不过既然没什么事就花了点时间帮他写了一个。。详情看代码。。- (void)draw
2016-06-19 10:09:53
786
原创 使用quartyz2D画圆,并将其三等分
有朋友问我这个问题怎么解决,我就花了点时间写了一下。 先说说思路,思路是通过贝兹路径画圆弧,并在圆弧的路径上链接一根线到圆心。 路径颜色渲染模式为Fill填充模式,随后花三个圆弧。 第一个圆弧从0° 开始,结束弧度为360° / 3 * 1 第二个圆弧从第一个圆弧结束位置开始,结束弧度为第一个圆弧的结束弧度加上360° / 3 * 1 第三个圆弧同第二个圆弧。 以下是代
2016-06-18 10:56:10
628
原创 AFN与SDWebImage简单使用心得
注意: AFN默认将服务器返回的数据,按照JSON去解析 所以其余数据需要自己手动修改: 如改默认(AFJSON)让其接收 text/plain 类型 manager.responseSerializer.acceptableContentTypes = [manager.responseSerializer.acceptableContentTypes setByAd
2016-05-30 09:51:33
707
原创 GCD与NSOperation
线程的自旋锁和互斥锁:前者是不断询问,后者是坐等通知 GCD是苹果公司为多核运算提供的一套纯C语言解决方案 我们只需告诉GCD执行什么任务即可 GCD的任务需要指定两个方面(核心): 任务:执行什么操作 队列:用来存放任务 使用: 创建任务来确定要做的事情,将任务添加到队列中 GCD会遵从FIFO原则(先进先出)来去除队列中的任务放到对应的线程中执行
2016-05-29 16:05:45
1314
原创 九宫格手势解锁
界面布局九个按钮,设置按钮的高亮状态与tag值 从触摸点开始画线,并画的时候判断线是否在按钮的范围内 如果在,判断按钮是否已经为高亮 如果不是则设置线的终点为按钮的中心 开启按钮的选中状态,并添加到已选按钮 将线保存到数组中 并继续画线 如果是高亮状态,则不添加 若绘画结束,则消除多出来的线 通过设置画的多余的线的最后一点为已选按钮的中心 判断已选按钮的ta
2016-05-29 08:49:36
877
原创 小画板
小画板: 保存:开启图片上下文,获取上下文,通过上下文截取当前屏幕内容,获取截取到的图片,关闭上下文,保存到相册 橡皮擦:重新换个颜色盖住以前的颜色 回退:消除绘制的最后的路径 清楚:消除绘制的所有路径 颜色:将按钮的背景颜色给画板 线条变化:通过空间UISlider的数据变化修改绘制路径的线条宽度 初始化:设置好线条宽度与背景颜色 通过给UIBezierPath添
2016-05-29 08:48:55
359
原创 断点缓存
断点缓存: 原理 修改请求头与请求范围 在发送数据获取请求前 需要先获取服务器上,目标文件的整体大小 通过自定义一个可变的request,并不指定请求范围,则默认从0开始 request的URL为目标文件 随后设置request的请求头为Head,只返回响应头,不返回响应体 通过URLConnection将request发送过去,通过响应体的expectedContentLe
2016-05-29 08:47:37
544
原创 NSRunLoop消息循环
自动释放池 当主线程的消息循环开始的时候会先创建自动释放池 消息循环结束前,会释放自动释放池 NSRunLoop消息循环 每一个线程内部都有一个消息循环 只有主线程的消息循环默认开启,子线程的消息循环默认不开启 子线程的消息循环开启:[[NSRunLoop currentRunLoop]run] 需注意,对于线程而言,开启后的线程永不销毁,使用结束会保存到线程缓存池中
2016-05-29 08:47:14
419
原创 MD5、钥匙串与Base64
钥匙串,导入第三方框架SSKeychain: 保存时: [SSKeychain setPassword:参数1 forService:参数2 account:参数3]; 第一个参数相当于是要存储的key和value 中的value 第二个参数相当于一个标识, 一般我们传bundleIdentifier 如:[NSBundle mainBundle].bundleId
2016-05-29 08:46:48
690
原创 SQL的简单应用
FMDatabaseQueue数据库操作对象,以下用queue代替 queue = FMDatabaseQueue(path: dbPath) 创建数据库文件 let sql = try!String(contentsOfFile: sqlPath)来读取sqlPath指向的SQL语句文件 SQL的语句执行一般都在queue?.inDataBase里面 执行时有一个参数代表数据库
2016-05-29 08:46:20
432
原创 关于输入页面中键盘表情的设置
键盘表情的设置: 再插入新的副文本内容时,需保留旧的副文本,因为副文本只能有一个。它会自动保存其内部文本附件的位置。 通过表情包的Plist文件来生成一个三维数组 三维数组保存着总共有几组表情 二维数组保存着一组有几行表情 一维数组保存着每行都有多少个表情 通过计算的页数 * 每页显示的数量 > 总表情数来判断最后一页有多少个表情 如果大于,就减去之前的所有数量,剩下
2016-05-28 10:59:35
1105
原创 tip动画
下拉刷新通过UIControl来设置 拥有三种状态:显示下拉刷新状态,显示松手就刷新状态,显示正在刷新状态 每种状态显示的内容都不一样,内容可通过自身设置的UILabel来显示 刷新时可令自己父控件的偏移量下移一部分一段时间,自身在此期间显示需要显示的内容 显示的内容通过可通过所在父类的偏移量来判断 所在父类可通过willMoveToSuperview来获得 通过KVO监听父控
2016-05-24 10:43:55
474
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅