Objective-c 应用开发
李鴻耀同學
这个作者很懒,什么都没留下…
展开
-
OCiOS开发:录音与音效
录音AVAudioRecorder是AVFoundation中的类,提供了简单的录音功能。常用方法初始化方法- (id)initWithURL:(NSURL *)url settings:(NSDictionary *)settings error:(NSError **)outError;录音操作// 1、准备开始录音- (BOOL)prepareToRecord; // 2、开始录原创 2015-08-23 13:57:24 · 4230 阅读 · 0 评论 -
OCiOS开发:汉字转拼音
直接上代码:- (void)viewDidLoad { [super viewDidLoad]; // 初始化中文字符 NSString *hanziText = @"中国四川"; // 判断中文长度 if (hanziText.length > 0) { // 将中文字符串转成可变字符串 NSMutableString *piny原创 2015-09-07 22:39:54 · 2556 阅读 · 0 评论 -
OCiOS开发:多线程与消息通知
进程与线程进程:进程是操作系统的基础,是一次程序的执行;它是操作系统动态执行的基本单元,在传统的操作系统中,进程是基本的分配单元,也是基本的执行单元。线程:线程有时被称为轻量进程,是进程执行流中的最小单元。iOS程序中默认只有一个线程,也称做主线程,所有的用户交互、界面刷新都必须在主线程中进行。若在主线程中执行复杂长时间的操作,会阻塞主线程,大大降低用户体验;此时可以开启后台线程来执行这些操原创 2016-01-27 22:33:27 · 3889 阅读 · 0 评论 -
OCiOS开发:CAGradientLayer 渐变色
CAGradientLayer 简介CAGradientLayer是CALayer图层类的子类,用于处理渐变色的层结构。CAGradientLayer的渐变色可以做隐式动画。CAGradientLayer和CAShapeLayer配合使用可实现复杂效果。CAGradientLayer可以用作PNG的遮罩效果。CAGradientLayer 坐标系统CAGradientLayer的坐标系统原创 2015-09-10 08:15:01 · 3113 阅读 · 0 评论 -
OCiOS开发:延迟调用
引言在某些情况下,我们需要延迟调用某个方法,以实现类似于网络请求耗时的效果,亦或是当我们想要推迟某个方法的执行的时候,可采用延迟调用。实现此处模拟点击登录按钮执行登录判断耗时2.0s的情况。NSObject方法实现:方法/** * 延迟调用 * * @param aSelector 方法选择器 * @param anArgument 参数 * @param delay原创 2015-08-11 13:10:28 · 1297 阅读 · 0 评论 -
OCiOS开发:NSURLSession 网络请求
前言 iOS9 Https 网络协议简介iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是强制增强数据访问安全,而且系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。服务器因此需要更新,以解析相关数据。如不更新,可通过在 Info.pl原创 2015-09-20 14:05:22 · 9447 阅读 · 1 评论 -
OCiOS开发:发短信、发邮件、打电话及摇一摇实现
简介在iOS开发中,可能会用到发短信、发邮件、打电话及摇一摇等功能,如下我将简单介绍几种功能的具体实现方法。需要注意的是,如下功能的实现必须通过真机调试,模拟器暂不支持如上功能。打电话methods 1:直接跳转到打电话界面NSURL *url = [NSURL URLWithString:[@"tel://电话号码"];[[UIApplication sharedApplication] open原创 2016-04-26 23:43:13 · 4565 阅读 · 0 评论 -
OCiOS开发:界面传值
引言在IOS开发过程中,界面传值无处不在,可以说界面传值在IOS开发过程中是非常重要的,而传值方式也多种多样,如下我将介绍几种常见的界面传值方式。传值方法假设目前有控制器HomeViewController(主页)与DetailViewController(详情),现模拟在不同场景下的界面传值方式,传值内容为用户名。属性传值应用场景:主页 -> 详情(从上一个视图控制器传值到下一个视图控制器)传原创 2015-08-09 23:32:35 · 7633 阅读 · 3 评论 -
OCiOS开发:手动创建CoreData数据模型
前言我们知道,在项目中当需要使用CoreData存储数据,创建工程的时候我们需要勾选Use Core Data选项,如下所示:在教学过程中,有学生这样问我,如果在项目中后期需要使用CoreData存储数据,但是在创建项目的时候并没有勾选Use Core Data选项,那又该如何操作呢?难道要重新创建项目勾选Use Core Data选项么?会不会太麻烦?不用担心,本篇博客,我将解决这个问题。实现1、原创 2016-04-27 22:52:27 · 3700 阅读 · 0 评论 -
OCiOS开发:Masonry的安装与使用
介绍Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了,并具有高可读性,而且同时支持iOS和Max OS X。Masonry常用属性@property (nonatomic, strong, readonly) MASConstraint *left; /**< 左侧 */@property (nonatomic, strong, r原创 2015-09-08 19:17:01 · 3533 阅读 · 0 评论 -
OCiOS开发:地图与定位
简介现在很多社交、电商、团购应用都引入了地图和定位功能,似乎地图功能不再是地图应用和导航应用所特有的。的确,有了地图和定位功能确实让我们的生活更加丰富多彩,极大的改变了我们的生活方式。例如你到了一个陌生的地方想要查找附近的酒店、超市等就可以打开软件搜索周边;类似的,还有很多团购软件可以根据你所在的位置自动为你推荐某些商品。总之,目前地图和定位功能已经大量引入到应用开发中。今天就和大家一起看一下iO原创 2015-09-26 16:52:22 · 5048 阅读 · 0 评论 -
OCiOS开发:媒体播放器 AVPlayer 与 AVPlayerViewController
简介AVPlayer是一个可以播放任何格式的全功能影音播放器,使用AVPlayer需导入AVFoundation.h。支持视频格式: WMV,AVI,MKV,RMVB,RM,XVID,MP4,3GP,MPG等。支持音频格式:MP3,WMA,RM,ACC,OGG,APE,FLAC,FLV等。在开发中,单纯使用AVPlayer类是无法显示视频的,要将视频层添加至AVPlayerLayer中,这样原创 2015-08-23 10:55:28 · 17359 阅读 · 1 评论 -
OCiOS开发:音频播放器 AVAudioPlayer
简介AVAudioPlayer音频播放器可以提供简单的音频播放功能,其头文件包含在AVFoudation.framework中。AVAudioPlayer未提供可视化界面,需要通过其提供的播放控制接口自行实现。AVAudioPlayer仅能播放本地音频文件,并支持以下格式文件:.mp3、.m4a、.wav、.caf、.aif 。常用方法初始化方法// 1、NSURL 它只能从file:/原创 2015-08-22 16:11:49 · 6382 阅读 · 0 评论 -
iOS开发 - 获取当前网络状态
runtime获取网络状态首先导入头文件:#import <objc/message.h>实现如下代码判断: // 状态栏是由当前控制器控制的,首先获取当前app。 UIApplication *app = [UIApplication sharedApplication]; // 遍历状态栏上的前景视图 NSArray *children = [[[app va原创 2015-08-28 17:55:07 · 3869 阅读 · 0 评论 -
iOS开发 - 加载三方字体库
方法步骤steps 1:将字体库文件拖入项目中steps 2:修改Info.plist,添加Fonts provided by application属性,设值为字体体文件名steps 3:点选Project文件,查看Build Phases中的Compile Sources,如果没有字体库文件, 点+号添加steps 4:【故事板使用】打开布局文件Main.storyboard,拖一个UILab原创 2015-08-13 17:59:39 · 2177 阅读 · 0 评论 -
iOS开发 - cocoapods安装与使用
cocoapods是什么?CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。Ruby环境搭建当前安装环境为Mac OS X Yosemite 10.10.4,Mac OS本身自带Ruby,但是还是要更新一下保险,因为我第一次安装在没有更新Ruby的情况下就失败了。查看当前Ruby版本:打开终端输入ruby-v更新Ruby,将Ruby镜像指向原创 2015-09-01 00:58:02 · 2178 阅读 · 1 评论 -
iOS开发 - 毛玻璃效果
效果展示Objective-C代码实现#import "ViewController.h"@interface ViewController () { // 实现模糊效果类 UIVisualEffectView *_visualEffectView;}@end@implementation ViewController- (void)viewDidLoad { [super原创 2015-09-01 23:56:41 · 1822 阅读 · 0 评论 -
iOS开发 - 三方库实现聚光引导效果与触摸跟踪动效
效果展示三方资源EMHint:实现聚光灯效果;COSTouchVisualizerWindow:实现触摸跟踪动效; 注意:三方资源直接附在Demo下载中,欢迎下载。关键代码片段EMHint#pragma mark - 加载闪光灯- (void)addSpotlight { CGFloat width = WITH/4; CGFloat centextY = HEIGHT -原创 2015-09-12 09:29:09 · 2629 阅读 · 0 评论 -
iOS开发 - GCD
什么是GCD?Grand Central Dispatch 简称(GCD)是苹果公司开发的技术,以优化的应用程序支持多核心处理器和其他的对称多处理系统的系统。这建立在任务并行执行的线程池模式的基础上的。它首次发布在Mac OS X 10.6 ,iOS 4及以上也可用。GCD是一套底层API,提供了一种新的方法来进行并发程序编写。从基本功能上讲,GCD有点像NSOperationQueue,他们都原创 2015-09-07 19:06:04 · 1209 阅读 · 0 评论 -
iOS开发 - 粒子效果
CAEmitterLayer 粒子发射器emitterCells:粒子单元数组birthRate:粒子的创建速率,默认为1/slifetime:粒子的存活时间,默认为1svelocity:粒子的运动速度scale:粒子的缩放大小spin:粒子的旋转位置seed:初始化随机的粒子种子emitterPosition:发射器在xy平面的中心位置emitterZPosition:发射器在z原创 2015-09-28 22:53:10 · 1581 阅读 · 0 评论 -
OCUI界面设计:UISearchController 搜索
初始化方法- (instancetype)initWithSearchResultsController:(nullable UIViewController *)searchResultsController;常用属性searchResultsUpdater:设置搜索控制器的刷新者active:设置(获取)当前搜索状态delegate:设置代理dimsBackgroundDuringPre原创 2015-09-15 23:44:08 · 2502 阅读 · 0 评论 -
OCiOS开发:表格视图实现腾讯好友列表展开收缩效果
前言这几天刚刚给学生讲到了表格视图的使用,有学生问我,如果要实现类似于腾讯好友列表展开收缩的效果该怎么实现呢?以前我写过有关这样效果的demo,但是一直没有发表成文,今天刚好有时间,于是写出来,分享给各位,当然要实现这种效果方法还是有很多,这里就讲解下我的实现方式,不到之处,还往各位提点建议,我会及时改进。效果为了简化数据,所以每个分组里面的好友数据都是一样的。实现思路1、用一个字典来判断,将sec原创 2016-01-20 23:45:02 · 6085 阅读 · 2 评论 -
OCiOS开发:使用相册、照相机和录像
简介UIImagePickerController是一个独立的控制器类,继承自UINavigationController,因此它拥有UINavigationController相同的功能,但我们无法将它放入到我们自己的导航控制器栈中,它作为一个模态视图单独运行在你的界面之上,提供少量的属性和方法供我们使用,因此我们无法改变它的行为,只能做些简单的选取图片以及照相机的使用。UIImagePick原创 2015-08-31 17:49:54 · 6043 阅读 · 2 评论