- 博客(88)
- 收藏
- 关注
原创 iOS 大文件下载、断点续传、后台下载 —— HERO博客
本篇简述一下实现文件下载功能,包含大文件下载,后台下载,杀死进程,重新启动时继续下载,设置下载并发数,监听网络改变等,并在最后附有Demo。下载功能的实现:使用的网络连接的类为NSURLSession。该类用以替代NSURLConnection,在iOS7时推出,至此iOS系统才有了后台传输。在初始化NSURLSession前,需要先创建NSURLSessionConfiguration,可以理解...
2018-05-23 14:40:02
17296
14
原创 iOS FMDB数据库框架使用 —— HERO博客
FMDB简介:是iOS平台的第三方数据库框架,将SQLite API以OC的方式进行封装,面向对象,使用便捷。主要的类:FMDatabase:一个FMDatabase对象就代表一个单独的SQLite数据库,用来执行SQL语句,进行增删查改操作。FMResultSet:使用FMDatabase执行查询后的结果集。FMDatabaseQueue:保证线程安全,可以在多线程中同时读写、执行多个查询或更新...
2018-05-22 15:43:22
4536
原创 iOS AppDelegate方法梳理,监听进程在后台、被杀死事件 —— HERO博客
AppDelegate中一些常用方法:- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{ NSLog(@"启动程序,didFinishLaunchingWithOptions"); return Y...
2018-05-17 18:18:58
11977
1
原创 iOS 多任务全部执行完后再执行操作 —— HERO博客
介绍一下开发中遇到多个任务的情况及处理方法。1. 有两个加载图片的任务,全部加载完成后在进行相应操作,耗时操作不应该放在主线程,所以开启子线程加载,通过队列组实现:{ // 创建队列组 dispatch_group_t group = dispatch_group_create(); // 创建并发队列 dispatch_queue_t queue = dispa...
2018-05-10 19:46:31
6875
原创 iOS 新手引导页面,透明遮罩指引页 —— HERO博客
首先看一下Demo效果图:这种遮罩通常作为新手引导页面。通常有镂空的一部分,附有描述,指引用户第一次进入界面该如何操作,只显示一次。下面给出两种实现思路:第一种:UI切好整张图片,直接显示到UIWindow上,不推荐使用该方法。优点:程序实现简单,便捷。缺点:适配不同机型需要多套图片(Android内心是崩溃的),后期迭代界面改动则要更新图片,UI工作量庞大。第二种:Demo使用的方法,自己实现一...
2018-04-21 15:49:45
11221
原创 iOS UIMenuController简介及使用 —— HERO博客
UIMenuController简介:UIMenuController为菜单控制器,是一个单例对象,继承NSObject,用来剪切、拷贝、粘贴等操作。UIMenuController使用:获取UIMenuController对象:UIMenuController *menu = [UIMenuController sharedMenuController];设置显示或者隐藏://通过menuVi...
2018-04-19 17:29:35
1835
原创 iOS 设置圆角阴影,避免离屏渲染 —— HERO博客
iOS 控件设置圆角,避免离屏渲染。离屏渲染:指GPU(图形处理器)在当前屏幕缓冲区外新开辟一个渲染缓冲区进行工作。这会给我们带来额外的性能损耗,如果这样的操作达到一定数量,会触发缓冲区的频繁合并和上下文的的频繁切换,会出现卡顿、掉帧现象。造成离屏渲染的原因有很多,如:shouldRasterize(光栅化)、mask(遮罩层)、shadows(阴影)、EdgeAnntialiasing(
2018-01-18 17:12:08
8383
原创 iOS 自定义水平滚动条、进度条 —— HERO博客
自定义水平滚动条、进度条,继承UIView,可点击轨道、滑动滑块交互。先看一下效果图:简单说一下逻辑,新建一个继承UIView的类,分别给轨道、滑块添加UITapGestureRecognizer点击、UIPanGestureRecognizer滑动手势。获取偏移量,计算控件位置,刷新视图。下面贴上核心代码:显示视图,在控制器调用代码: HWSlide
2018-01-03 20:37:27
3903
原创 iOS UITableView性能优化 —— HERO博客
1. cell重用,注册重用标识符 tableView会根据屏幕可显示的cell个数去创建cell,当cell划出屏幕时会放到重用池,有cell需要显示时,会根据标识符先去重用池取,有则拿出来显示,没有再去创建。static NSString *identifier = @"cellIdentifier";UITableViewCell *cell = [tableView deq
2017-12-15 10:32:30
619
原创 iOS 视频录制、播放,使用视听媒体框架AVFoundation实现视频录制播放 —— HERO博客
用AVFoundation框架录制视频、AVPlayer播放视频。
2017-08-27 15:37:49
4452
1
原创 iOS 音频录制、播放,使用音频处理框架The Amazing Audio Engine实现音频录制播放 —— HERO博客
iOS 第三方音频框架The Amazing Audio Engine使用,实现音频录制、播放,可设置配乐。首先看一下效果图:下面贴上核心控制器代码: #import "ViewController.h"#import <AVFoundation/AVFoundation.h>#import "HWProgressHUD.h"#import "UIImage...
2017-07-31 18:42:02
3769
4
原创 iOS 答题功能实现 —— HERO博客
上一篇简述了搭建项目框架的流程,本篇在此基础上实用,做了一个简单的类似题库答题页面。首先看一下效果图: 简单阐述一下:这里没有做网络请求数据,题目数据是本地模拟服务端写的,没有做本地缓存,每次进入、上一题、下一题时去获取服务端数据,如果有选择选项或填写答案时,在上一题、下一题及退出时保存做题记录。答题页面控制器HWQuestionsVC继承基类HWBaseViewControlle...
2017-06-01 19:08:31
9552
35
原创 iOS 封装加载、提示窗progressHUD —— HERO博客
封装了一个加载动画、提示信息弹窗HWProgressHUD,使用简单,方便修改。
2017-04-21 18:02:47
3157
原创 iOS 7.0限制textView、textField文字长度崩溃问题解决 —— HERO博客
iOS 7.0限制textView、textField文字长度崩溃问题解决。
2016-07-30 22:48:52
1192
原创 iOS 基于CATransition实现翻页、旋转等动画效果 —— HERO博客
iOS 基于CATransition实现翻页、旋转、淡化、推进、滑入滑出、立方体、吮吸、波纹等动画效果。
2016-06-01 15:40:40
5708
原创 iOS 开发编程你需要知道的知识(不定期更新) —— HERO博客
1. 编写代码时,有时会没有提示,查一下前面是不是有中文汉字,剪切一下再编写就会有提示了。2. 代码写的不规范,可以选中代码,右键 — Structure — Re-Indent,会帮你调整代码,乱的系统也认不出就没办法了。3. 程序崩溃找不到原因,Command + 7 点击左下 + 号 Add Exception Breakpoint...添加一个全局断点会帮助你。4. 遇到过控制器跳转时有一...
2016-05-23 19:40:47
3639
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人