iOS开发实例
此专栏分享的主要内容包括iOS开发的一些实例、如APNS远程推送、二维码、第三方支付、地图、手势识别、事件响应、第三方框架使用等,并提供个人见解,方面大家交流与学习
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
陆讯
南大软院计算机科学与技术,同济大学工商管理MBA,一个懂技术的产品人,从事互联网产品事业,励志做有价值、有温度的产品...
展开
-
iOS开发 - UIAlertController 弹框提醒
传统的alertView- (void)alertView{ UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"警告" message:@"你的操作时非法的,您要继续吗" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil]; alert原创 2015-08-30 11:51:27 · 26373 阅读 · 0 评论 -
iOS开发 - 正则表达式 RegexKitLite框架
准备工作使用RegexKitLite正则表达式需要以下工作: 1.RegexKitLite官方网址(内含使用教程):http://regexkit.sourceforge.net/RegexKitLite 2.下载地址:http://downloads.sourceforge.net/regexkit/RegexKitLite-4.0.tar.bz2 3.将RegexKitLite.h和Reg原创 2015-08-29 08:12:43 · 2458 阅读 · 0 评论 -
iOS开发 - WaterflowLayout 瀑布流布局
Model Data@interface Shop : NSObject@property (nonatomic, assign) CGFloat w;@property (nonatomic, assign) CGFloat h;@property (nonatomic, copy) NSString *img;@property (nonatomic, copy) NSString *p原创 2015-08-30 09:39:06 · 2224 阅读 · 3 评论 -
iOS开发 - UICollectionViewLayout 自定义布局
Model cell#import <UIKit/UIKit.h>@interface ImageCell : UICollectionViewCell@property (nonatomic, copy) NSString *image;@end#import "ImageCell.h"@interface ImageCell()@property (weak, nonatomic) I原创 2015-08-30 09:26:00 · 2252 阅读 · 2 评论 -
iOS开发 - 手势移除控制器
手势移除控制器类似于IT之家、QQ、QQ音乐移除控制器 #import "NavigationController.h"@interface NavigationController ()/** 存放每一个控制器的全屏截图 */@property (nonatomic, strong) NSMutableArray *images;@property (nonatomic, strong)原创 2015-08-30 08:55:06 · 3631 阅读 · 0 评论 -
iOS开发 - UICollectionViewFlowLayout 流水布局
Model cell@interface ImageCell : UICollectionViewCell@property (nonatomic, copy) NSString *image;@end@interface ImageCell()@property (weak, nonatomic) IBOutlet UIImageView *imageView;@end@implemen原创 2015-08-30 09:15:38 · 1941 阅读 · 0 评论 -
iOS开发 - 数据归档与恢复 NSKeyedArchiver
归档与恢复归档归档,英文Archiver[‘ɑrkɪvə],这里指的是将OC的对象存储为一个文件或者网络上的一个数据块。 恢复归档,英文UnArchiver,指的是将一个来自文件或网络的归档数据块恢复成内存中的一个OC对象。 归档和恢复主要用于对自定义类型对象进行存储,在程序暂停或关闭前保存自定义数据,在程序重新恢复状态或启动后读取存储的自定义数据。 支持归档和恢复的类必须实现NSCoding原创 2015-08-20 10:30:37 · 3326 阅读 · 0 评论 -
iOS开发 - 二维码的生成与读取
二维码的生成从iOS7开始集成了二维码的生成和读取功能 此前被广泛使用的zbarsdk目前不支持64位处理器生成二维码的步骤: 导入CoreImage框架 通过滤镜CIFilter生成二维码二维码的内容(传统的条形码只能放数字):纯文本名片URL生成二维码// 1. 实例化二维码滤镜CIFilter *filter = [CIFilter filterWithName:@"CIQRCod原创 2015-08-20 09:18:51 · 52255 阅读 · 0 评论 -
iOS开发 - 私人通讯录实例
私人通讯录实例此实例主要练习UIViewController控制器的使用创建模型类Model/** copy : NSString\NSMutableString\block weak : 代理\UI控件 strong : 其他OC对象 assign : 基本数据类型(int\float)\枚举\结构体 */#import <Foundation/Foundation.h>@interf原创 2015-08-08 08:54:37 · 1906 阅读 · 3 评论 -
iOS开发 - Quartz2D绘制小黄人
Quartz2D绘制小黄人- (void)drawRect:(CGRect)rect{ // 1.上下文 CGContextRef ctx = UIGraphicsGetCurrentContext(); // 2.身体 drawBody(ctx, rect); // 3.嘴(微笑) drawMouth(ctx, rect); // 4.画眼睛原创 2015-08-01 08:04:12 · 2443 阅读 · 3 评论 -
iOS开发 - Quartz2D绘图
Quartz 2D简介是一个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作 绘制图形 : 线条\三角形\矩形\圆\弧等 绘制文字 绘制\生成图片(图像) 读取\生成PDF 截图\裁剪图片 自定义UI控件 … …drawRect:方法的使用 常见图形的绘制:线条、多边形、圆 绘图状态的设置:文字颜色、线宽等 图形上下文状态的保存与恢复 图形上下文栈为了原创 2015-08-01 07:54:17 · 1508 阅读 · 2 评论 -
iOS开发 - CALayer图层
CALayer的基本使用在iOS中,你能看得见摸得着的东西基本上都是UIView,比如一个按钮、一个文本标签、一个文本输入框、一个图标等等,这些都是UIView其实UIView之所以能显示在屏幕上,完全是因为它内部的一个图层在创建UIView对象时,UIView内部会自动创建一个图层(即CALayer对象),通过UIView的layer属性可以访问这个层 @property(nonatomic,r原创 2015-07-22 09:00:22 · 1732 阅读 · 0 评论 -
iOS开发 - Core Animation 核心动画
Core AnimationCore Animation,中文翻译为核心动画,它是一组非常强大的动画处理API,使用它能做出非常炫丽的动画效果,而且往往是事半功倍。也就是说,使用少量的代码就可以实现非常强大的功能。 Core Animation可以用在Mac OS X和iOS平台。 Core Animation的动画执行过程都是在后台操作的,不会阻塞主线程。 要注意的是,Core Ani原创 2015-07-22 09:25:14 · 1825 阅读 · 0 评论 -
iOS开发 - CoreData框架 数据持久化
Core DataCore Data是iOS5之后才出现的一个框架,它提供了对象-关系映射(ORM)的功能,即能够将OC对象转化成数据,保存在SQLite数据库文件中,也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间,我们不需要编写任何SQL语句,这个有点类似于著名的Hibernate持久化框架,不过功能肯定是没有Hibernate强大的。传统的数据库要把数据写到数据库,而且要写SQL语原创 2015-07-17 09:34:37 · 1969 阅读 · 0 评论 -
iOS开发 - UIPageControl实现分页图片轮播器
分页相关属性只要将UIScrollView的pageEnabled属性设置为YES,UIScrollView会被分割成多个独立页面,里面的内容就能进行分页展示一般会配合UIPageControl增强分页效果,UIPageControl常用属性如下 一共有多少页@property(nonatomic) NSInteger numberOfPages;当前显示的页码@property(nonato原创 2015-05-22 09:31:25 · 3650 阅读 · 0 评论 -
iOS开发 -NSUserDefaults 轻量级快速存储
IOS提供了一个轻量级的快速数据存储方式:NSUserDefaults; 程序运行的时候从用户默认的数据库中读取程序的设置,同时NSUserDefaults的缓存避免了在每次读取数据时候都打开用户默认数据库的操作,所有数据都放在内存中,读写速度很快。NSUserDefaults是一个单例,在整个程序中只有一个实例对象,他可以用于数据的永久保存,而且简单实用,这是它可以让数据自由传递的一个前提,也是原创 2015-06-04 18:00:55 · 2404 阅读 · 0 评论 -
iOS开发 - CoreLocation地理定位
简介在移动互联网时代,移动app能解决用户的很多生活琐事,比如 导航:去任意陌生的地方 周边:找餐馆、找酒店、找银行、找电影院在上述应用中,都用到了地图和定位功能,在iOS开发中,要想加入这2大功能,必须基于2个框架进行开发 Map Kit :用于地图展示 Core Location :用于地理定位2个热门专业术语 LBS :Location Based Service SoLoMo :原创 2015-07-09 11:36:49 · 2777 阅读 · 0 评论 -
CocoaPods - 第三方框架管理工具
1. CocoaPods简介CocoaPods是一个可以帮你集中管理第三方库的开源项目,运行在Ruby的环境下,基于GitHub托管优势,你可以很方便的查阅目前依赖于CocoaPods的资源. 并且CocoaPods是可靠,稳定,安全的.可以为你在使用第三方库资源时节省大部分的配置和部署时间.更专心的专注于编程! CocoaPods项目的源码在Github上管理,经过多年发展,现在已经成为iOS原创 2015-04-04 01:20:47 · 5146 阅读 · 0 评论 -
iOS开发 - NSURLConnection实现断点续传下载
常用类NSURL: //请求地址NSURLRequest: //一个NSURLRequest对象就代表一个请求,它包含的信息有:一个NSURL对象请求方法、请求头、请求体请求超时… …NSMutableURLRequest://NSURLRequest的子类NSURLConnection //负责发送请求,建立客户端和服务器的连接发送NSURLRequest的数据原创 2015-05-13 11:12:10 · 3550 阅读 · 0 评论 -
iOS开发 - ANPs推送通知
推送通知注意:这里说的推送通知跟NSNotification有所区别 NSNotification是抽象的,不可见的 推送通知是可见的(能用肉眼看到)iOS中提供了2种推送通知 本地推送通知(Local Notification) 远程推送通知(Remote Notification)推送通知的呈现效果总结总结一下,推送通知有5种不同的呈现效果 在屏幕顶部显示一块横幅(显示具体内容) 在原创 2015-05-03 14:12:46 · 5162 阅读 · 0 评论 -
iOS开发 - 手势识别(UIGestureRecognizer)
UIGestureRecognizer为了完成手势识别,必须借助于手势识别器—-UIGestureRecognizer利用UIGestureRecognizer,能轻松识别用户在某个view上面做的一些常见手势UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,使用它的子类才能处理具体的手势UITapGestureRecognizer //(敲击)UIPinc原创 2015-04-27 10:15:23 · 2967 阅读 · 0 评论 -
iOS开发 - 事件的产生和传递
事件的产生和传递发生触摸事件后,系统会将该事件加入到一个由UIApplication管理的事件队列中UIApplication会从事件队列中取出最前面的事件,并将事件分发下去以便处理,通常,先发送事件给应用程序的主窗口(keyWindow)主窗口会在视图层次结构中找到一个最合适的视图来处理触摸事件,这也是整个事件处理过程的第一步找到合适的视图控件后,就会调用视图控件的touches方法来作具体的事件原创 2015-04-27 09:55:39 · 2579 阅读 · 0 评论 -
iOS开发 - 响应者链触摸事件
触摸事件在用户使用app过程中,会产生各种各样的事件iOS中的事件可以分为3大类型触摸事件:加速计事件:远程控制事件:响应者对象在iOS中不是任何对象都能处理事件,只有继承了UIResponder的对象才能接收并处理事件。我们称之为“响应者对象”UIApplication、UIViewController、UIView都继承自UIResponder,因此它们都是响应者对象,都能够接收并处理事件U原创 2015-04-23 14:25:53 · 3302 阅读 · 7 评论 -
iOS开发 -"ASI"使用实例
ASI#import "ViewController.h"#import "ASIHTTPRequest.h"@interface HMViewController () <ASIHTTPRequestDelegate>@property (nonatomic, strong) ASIHTTPRequest *request;@end@implementation HMViewControll原创 2015-06-01 10:21:46 · 2482 阅读 · 0 评论 -
iOS开发 - HTTP终结者 "ASI"
ASI全称是ASIHTTPRequest,外号“HTTP终结者”,功能十分强大 基于底层的CFNetwork框架,运行效率很高 可惜作者早已停止更新,有一些潜在的BUG无人去解决 很多公司的旧项目里面都残留着它的身影,以前的很多iOS项目都是ASI + SBJson 会不会用ASI,可以算是检验是否为老牌iOS程序员的标准之一ASI的github地址 https://github.com/原创 2015-06-01 10:05:28 · 2769 阅读 · 2 评论 -
iOS开发 - SDWebImage图片处理框架
SDWebImage框架图片处理框架 包含的功能:图片下载、图片缓存、下载进度监听、gif处理等等 用法极其简单,功能十分强大,大大提高了网络图片的处理效率 国内超过90%的iOS项目都有它的影子SDWebImage常用方法- (void)sd_setImageWithURL:(NSURL *)url placeholderImage:(UIImage *)placeholder;- (vo原创 2015-04-28 10:19:11 · 5487 阅读 · 2 评论 -
XMPP - 实现登录与注销
实现登录与注销#import "AppDelegate.h"#import "XMPPFramework.h"/* * 在AppDelegate实现登录 1. 初始化XMPPStream 2. 连接到服务器[传一个JID] 3. 连接到服务成功后,再发送密码授权 4. 授权成功后,发送"在线" 消息 */@interface AppDelegate ()<XMPPStreamDele原创 2015-04-19 09:12:54 · 2427 阅读 · 0 评论 -
XMPP - 即时通讯技术
XMPP-即时通讯技术简介(IM -- Instant Messaging)支持用户在线实时交谈。如果要发送一条信息,用户需要打开一个小窗口,以便让用户及其朋友在其中输入信息并让交谈双方都看到交谈的内容有许多的IM系统,如AOL、Yahoo IM、 MSN以及QQ,它们最大的区别在于各自通讯协议的实现,所以即时通讯技术的核心在于它的传输协议协议用来说明信息在网络上如何传输,如果有了统一的传输协议,那原创 2015-04-17 09:28:41 · 2186 阅读 · 0 评论 -
XMPP - Socket 实现创建聊天室
初始化@interface ViewController : UIViewController@end创建输入输出流@interface ViewController ()<NSStreamDelegate,UITextFieldDelegate,UITableViewDataSource,UITableViewDelegate>{ NSInputStream *_inputStream;原创 2015-04-17 09:09:02 · 2559 阅读 · 0 评论 -
iOS开发 - iOS发布条款检查表
序号 分类 条款编号 条款 案例1 功能 2.1 崩溃的程序将会被拒绝 2 2.2 有错误的程序将会被拒绝 点击版本升级无反应/点击版本升级,在线版本和当前版本都是2.0.33 2.3 跟开发者宣传不符的程序将会被拒绝 4 2.4 无应用文档或隐藏功能与描述不符的程序将会被拒绝 5 2.5 使用非公开API的程序将会原创 2015-05-15 13:40:11 · 3359 阅读 · 0 评论 -
iOS开发 - 文件压缩与解压缩
第三方解压缩框架——SSZipArchive下载地址:https://github.com/samsoffes/ssziparchive 注意:需要引入libz.dylib框架 // UnzippingNSString *zipPath = @"path_to_your_zip_file";NSString *destinationPath =@"path_to_the_folder_wher原创 2015-05-21 09:27:44 · 7716 阅读 · 0 评论 -
iOS开发 - 封装文件上传工具类
文件上传的步骤1.设置请求头 * 目的:告诉服务器请求体里面的内容并非普通的参数,而是包含了文件参数[request setValue:@"multipart/form-data; boundary=maljob" forHTTPHeaderField:@"Content-Type"];2.设置请求体 * 作用:存放参数(文件参数和非文件参数) 1> 非文件参数[body appendData原创 2015-05-21 09:10:01 · 3780 阅读 · 0 评论 -
iOS开发 - NSURLSession实现断点续传下载
NSURLSession1.使用步骤1> 获得NSURLSession对象2> 利用NSURLSession对象创建对应的任务(Task)3> 开始任务([task resume])2.获得NSURLSession对象1> [NSURLSession sharedSession]2> NSURLSessionConfiguration *cfg = [NSURLSessionConfigurat原创 2015-05-13 13:34:26 · 3963 阅读 · 1 评论 -
iOS开发 - JSON解析
JSON解析什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外)JSON的格式很像OC中的字典和数组{"name" : "jack", "age" : 10}{"names" : ["jack", "rose", "jim"]}标准JSON格式的注意点:key必须用双引号要想从JSON中挖掘出具体数据,得原创 2015-05-08 16:59:26 · 2933 阅读 · 0 评论 -
iOS开发 - 网络数据安全加密(MD5)
提交用户的隐私数据一定要使用POST请求提交用户的隐私数据 GET请求的所有参数都直接暴露在URL中 请求的URL一般会记录在服务器的访问日志中 服务器的访问日志是黑客攻击的重点对象之一用户的隐私数据 登录密码 银行账号 … …数据安全仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题 可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据 因此:提交用原创 2015-05-08 15:54:26 · 4306 阅读 · 1 评论 -
iOS开发 - 检测网络状态(WIFI、2G/3G/4G)
检测网络状态在网络应用中,需要对用户设备的网络状态进行实时监控,目的是 让用户了解自己的网络状态,防止一些误会(比如怪应用无能) 根据用户的网络状态进行智能处理,节省用户流量,提高用户体验 WIFI\3G网络:自动下载高清图片 低速网络:只下载缩略图 没有网络:只显示离线的缓存数据苹果官方提供了一个叫Reachability的示例程序,便于开发者检测网络状态 https://develo原创 2015-05-08 15:31:36 · 9991 阅读 · 0 评论 -
iOS开发 - HTTP协议详解
URL(统一资源定位符)什么是URL URL的全称是Uniform Resource Locator(统一资源定位符) 通过1个URL,能找到互联网上唯一的1个资源 URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URLURL的基本格式 = 协议://主机地址/路径 例如: http://www.baidu.com http://www.oschina.net 协议:不同的原创 2015-04-27 16:28:17 · 5026 阅读 · 1 评论