
ios学习
xunxun523
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ios 指定某个页面是横屏还是竖屏
ios 旋转原创 2016-04-20 12:11:15 · 5962 阅读 · 1 评论 -
iOS语音播放之切换听筒和扬声器的方法解决方案
[[UIDevice currentDevice] setProximityMonitoringEnabled:YES]; //建议在播放之前设置yes,播放结束设置NO,这个功能是开启红外感应//添加监听[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(senso转载 2014-09-22 14:26:39 · 4135 阅读 · 0 评论 -
网络编程浅析(二)
CFStream 读写流以设备依赖的方式为交换数据提供了一个简单的途径。可以为内存中的数据、文件中的数据或网络上的数据(使用套接字)创建流,而不用把全部数据一次性读到内存中去。套接字流为通过套接字读写数据提供了一个简单易用的接口。每个套接字都可以与输入流和输出流绑定,允许异步的通信。CFStream包装了大部分读写字节流需要的工作,替换了C语言中传统的send和recv方法。C转载 2014-08-06 14:28:22 · 1023 阅读 · 0 评论 -
网络编程浅析(一)
iphone包含了很多框架和库,从底层的套接字到不同层次的封装,可以方便地给程序添加网络功能。 (1)BSD套接字。最底层的套接字,这是Unix网络开发常用的API。如果从其他系统移植程序,而程序用的是BSD套接字,那么网络部分可以继续使用这些API。 (2)CFNetwork framework 。CFNetwork 也是比较底层的, 是对BSD套接字的一个扩展 。它转载 2014-08-06 14:27:32 · 1105 阅读 · 0 评论 -
RTMP/RTP/RTSP/RTCP的区别
用一句简单的话总结:RTSP发起/终结流媒体、RTP传输流媒体数据 、RTCP对RTP进行控制,同步。之所以以前对这几个有点分不清,是因为CTC标准里没有对RTCP进行要求,因此在标准RTSP的代码中没有看到相关的部分。而在私有RTSP的代码中,有关控制、同步等,是在RTP Header中做扩展定义实现的。另外,RFC3550可以看作是RFC1889的升级文档,只看RFC3550即转载 2014-08-06 13:59:25 · 1100 阅读 · 0 评论 -
ASIHTTPRequest框架的简单使用
ASIHttpRequest是一款及其强劲的HTTP访问开源项目。让简单的API完成复杂的功能,如:异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证。在新版本中,还加入了Object-C闭包Block的支持,让我们的代码更加精简灵活。依赖的5个库:CFNetworkSystemCorfigurationMobileCoreServices和原创 2014-07-09 22:30:17 · 2282 阅读 · 0 评论 -
开源网络库 GCDAsyncSocket
GCDAsyncSocket 地址: https://github.com/robbiehanson/CocoaAsyncSocket/ 使用方法:创建:asyncsocket = [[GCDAsyncSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_ma转载 2014-07-29 14:40:07 · 1205 阅读 · 0 评论 -
设置部分文件不适用ARC机制
般都是开启arc功能,毕竟不需要自己手动去释放,是一件比较轻松的事情。 但是我们在引用第三方的时候,基本上都是带release与retain的方法,这个时候代码编译就通不过 可以设置部分文件不使用arc,这样就可以兼容了。 步骤: 加入第三方库时候选择 1. 单击项目,在builde phases 中,compile sources 2.转载 2014-06-18 11:02:42 · 881 阅读 · 0 评论 -
使用FFMPEG类库分离出多媒体文件中的H.264码流
在使用FFMPEG的类库进行编程的过程中,可以直接输出解复用之后的的视频数据码流。只需要在每次调用av_read_frame()之后将得到的视频的AVPacket存为本地文件即可。经试验,在分离MPEG2码流的时候,直接存储AVPacket即可。在分离H.264码流的时候,直接存储AVPacket后的文件可能是不能播放的。如果视音频复用格式是TS(MPEG2 Transpo转载 2014-07-28 16:49:44 · 892 阅读 · 0 评论 -
使用NSURLConnection的网络请求与封装
访问网络的方式:1、同步请求: 会阻塞主线程2、异步请求: 无法取消 请求过程在多线程执行 基本流程:1、构造NSURL实例。2、生成NSURLRequest请求。3、通过NSURLConnection发送请求。4、通过NSURLRespond实例和NSError实例分析结果。5、接受返回数据。使用NSURLConnection发起异步请求:第一原创 2014-07-08 23:06:28 · 5557 阅读 · 0 评论 -
解决 ffmpeg 在avformat_find_stream_info执行时间太长
用ffmpeg做demux,网上很多参考文章。对于网络流,avformt_find_stream_info()函数默认需要花费较长的时间进行流格式探测,那么,如何减少探测时间内? 可以通过设置AVFotmatContext的probesize和max_analyze_duration属性进行调节: ............. if (avformat_open_in转载 2014-08-15 10:22:54 · 17172 阅读 · 3 评论 -
UITabBarController使用详解
http://www.cnblogs.com/martin1009/archive/2012/05/30/2526401.html转载 2014-09-12 14:18:54 · 881 阅读 · 0 评论 -
纯代码讲解swift的指针
swift 指针原创 2016-07-01 16:21:55 · 2214 阅读 · 0 评论 -
ios xmpp+openfire 群聊
最近在做直播的项目里面用的的群聊的功能,规定是要用xmpp+openfire。以前也没做过通过网上找资料最终还是把这部分功能实现了,只是简单的群聊天功能,当然这里我也只是把网上找到的东西分享给大家而已想学习的可以看一下。要实现群聊得有以下几个步骤:一、安装openfire这部分不详细说明,网上大把的资料,根据教程安装好就是了。原创 2015-10-08 16:19:19 · 8222 阅读 · 1 评论 -
swift闭包纯代码
swift闭包纯代码原创 2016-07-29 10:50:38 · 622 阅读 · 0 评论 -
纯代码解释runloop
纯代码解释runloop原创 2016-07-19 20:08:08 · 679 阅读 · 0 评论 -
ios ffmpeg 编译
最近完成直播项目也有段时间了,空余时间为了优化项目,特意研究了一下ffmpeg的编译,重新编译ffmpeg是因为从网上下载的ffmpeg库太大造成软件的安装包太大,为此需要优化。编译ffmpeg条件:一、在mac上安装yasm方法很多这里转载一个常用的做法mac 下编译 yasmcurl http://www.tortall.net/projects原创 2016-04-06 15:45:17 · 3276 阅读 · 0 评论 -
NSString 中包含中文字符时转换为NSURL
由于url支持26个英文字母、数字和少数几个特殊字符,因此,对于url中包含非标准url的字符时,就需要对其进行编码。iOS中提供了函数stringByAddingPercentEscapesUsingEncoding对中文和一些特殊字符进行编码,但是stringByAddingPercentEscapesUsingEncoding的功能并不完善,对一些较为特殊的字符无效。而对这些字符则可以使用C转载 2014-11-18 16:49:10 · 1421 阅读 · 2 评论 -
Xcode5 如何运行Base SDK iOS6程序和iOS6模拟器
Xcode 5默认自带SDK 7.0,升级Xcode 5后,Xcode.5就没了,这样我想编译SDK 6.x的程序就难办了(除非同时安装Xcode 4.x和Xcode 5.x两个版本Xcode)。其中我们知道xcode有个Base SDK。但是xcode5默认只自带SDK 7.0的。那么如何实现可选择老版本的呢(如SDK 6.x)。这里给出如何把老版本的SDK加入到新的Xcode中的方法。转载 2014-10-28 14:22:08 · 887 阅读 · 0 评论 -
IOS开发之──ASIHTTPRequest详解
ASIHTTPRequest是一款极其强劲的HTTP访问开源项目。让简单的API完成复杂的功能,如:异步请求,队列请求,GZIP压缩,缓存,断点续传,进度跟踪,上传文件,HTTP认证在新的版本中,还加入了Objective-C闭包Block的支持,让我们的代码更加轻简灵活。下面就举例说明它的API用法。发起一个同步请求同步意为着线程阻塞,在主线程中使用此方法转载 2014-10-28 16:07:36 · 991 阅读 · 0 评论 -
ios 判断网络
网络的重要性,相信大家都知道了。这次介绍下ios是如何判断网络的好坏的,由于在开发中用到,所以分享给大家,很简单。这里要用到Reachability封装类来实现,大家可以网上去下载Reachability.m 和Reachability.h文件,需要我提供请留言。具体代码:在AppDelegate里面实现:- (BOOL)application:(UIApplication *)原创 2014-09-24 11:25:54 · 2678 阅读 · 2 评论 -
摄像头拍照上传
使用UIImagePickerControlle这个类,用它来打开摄像头和本地照片库。找到一个好的办法也是比较简单的方法来将选择好的图片显示我们想要的UIImageView上原创 2014-06-16 18:32:03 · 3117 阅读 · 0 评论 -
ios中文件的相关操作:读,写,删除
创建与删除://创建文件管理器NSFileManager *fileManager = [NSFileManager defaultManager];//获取路径//参数NSDocumentDirectory要获取那种路径NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUse转载 2014-07-03 09:53:51 · 815 阅读 · 0 评论 -
网页控件UIWebView
网页控件UIWebView 可以加载本地HTML代码或者网络资源。原创 2014-05-08 17:54:39 · 1110 阅读 · 0 评论 -
iOS table简单实现增加移动和删除功能与自定义cell的实现
在RootViewController.h文件中#import @interface RootViewController :UIViewController{ BOOL editState;}//@property (nonatomic,retain)NSArray *noteList;@property (nona原创 2014-03-30 18:26:22 · 18746 阅读 · 0 评论 -
iOS tableview 实现简单的搜索功能
一、先用xcode创建好工程翻译 2014-04-06 17:31:59 · 21955 阅读 · 0 评论 -
awakeFromNib和 viewDidLoad的区别
awakeFromNib 当.nib文件被加载的时候,会发送一个awakeFromNib的消息到.nib文件中的每个对象,每个对象都可以定义自己的 awakeFromNib函数来响应这个消息,执行一些必要的操作。也就是说通过nib文件创建view对象是执行awakeFromNib 。viewDidLoad当view对象被加载到内存是就会执行viewDidLoad,所以不转载 2014-05-07 14:34:20 · 4421 阅读 · 0 评论 -
NSURLConnection小解
NSURLConnection提供对网络异步加载请求的支持,并且将获取的数据返回给代理。提供了简单的接口去创建和取消连接,同时使用delegate方法去支持连接过程的反馈和控制 。在实际开发中直接用的不多,但是有的第三方库却是用它来封装的。举例一: 1、先创建一个NSURL 2、在通过NSURL创建NSURLRequest,可以指定缓存规则和超时时间 3、创建NSURLConn转载 2014-05-07 10:56:51 · 1103 阅读 · 0 评论 -
NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
在iOS 5 中,苹果引入了一个解析JSON串的NSJSONSerialization类。通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化。以前,我记得我用的是第三方的插件。但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库。所以,推荐使用NSJSONSerialization类来完成转化。一、将NSDictionary或NSAr转载 2014-05-06 15:44:50 · 28635 阅读 · 0 评论 -
iOS 微博简单分享
一、先建立Xc转载 2014-04-18 17:41:55 · 5310 阅读 · 0 评论 -
OC block的简单使用
iOS block简单使用原创 2014-04-17 22:16:07 · 25624 阅读 · 2 评论 -
iOS 简单的table实现
先用xcode创建一个简单的工程启动程序#import "pxAppDelegate.h"@implementation pxAppDelegate- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *原创 2014-03-30 16:47:52 · 1022 阅读 · 0 评论 -
IOS7 根据字符串求尺寸
一、先用xcode差u原创 2014-04-14 19:46:53 · 12089 阅读 · 2 评论 -
iOS非常重要的 block回调
刚刚进入ios开发行业,发现开发中要用到大量的block回调,由此可见它的重要性。学习它之前我也是网上找的资料,推荐这篇文章http://blog.youkuaiyun.com/mobanchengshuang/article/details/11751671,我也是从这里得到一点启发。如果对block的使用还不熟悉建议先看我的block那篇文章。下面我用自己的工程来解释一下block回调函数。一、先创建原创 2014-04-22 19:51:46 · 74842 阅读 · 7 评论 -
IOS开发中@2x图片等适应不同分辨率手机
开发中,例如:nanshanImage.image=[UIImage imageNamed:@"index_pic.png"];在项目中还保存中index_pic@2x.png的图片,此图为了只适应960*640的分辨率手机而index_pic.png是适应640*320的手机,但是在代码中必须写成[UIImage imageNamed:@"index_pic.png"];转载 2014-05-08 15:32:50 · 2170 阅读 · 0 评论 -
多线程GCD的使用
在红黑联盟上看到一篇关于多线程GCD的教程文章,写的深入浅出,特转载于此,以备不时之需。原文链接另:补充两个GCD代码,都是Xcode snippet里面提供的:1.Dispatch After主要用于延迟执行一些代码。例子: int64_t delayInSeconds = 1.0; dispatch_time_t popTime = dispat转载 2014-07-21 09:39:02 · 961 阅读 · 0 评论 -
openGL ES view 截屏保存成UIImage
你的应用程序会发送一些openGLES 指令到当前的渲染环境(EAGLContext object),EAGLContext 包含了一些你要渲染目标的一些状态信息。给你的openGL ES view 快照截屏,确保你已经当前的EAGLContext和framebuffer下,然后调用 glReadPixels 从framebuffer中获得像素数据。然后你就可以用这些像素数据创建一个CGImag转载 2014-07-16 15:37:45 · 1761 阅读 · 0 评论 -
SQLitePersistentObject 的使用
1.下载了SQLitePersistentObject项目包后,将src文件夹下的所有文件复制到开发项目中。2.在项目TARGETS、Summary、Linked Frameworks and Libraries中添加libsqlite3.dylib动态链接库。3.在main.m中添加static void reset_environment(){unlin转载 2014-06-24 16:07:18 · 2562 阅读 · 0 评论 -
ARC及内存
ARC的使用ARC 的规则非常简单:只要还有一个变量指向对象,对象就会保持在内存中。使用ARC后,不需要再手动调用retain, release, autorelease,因为编译器处理了一切。新关键字strong,__strong, weak, __weak(“__”为双下划线,(unsafe_unretained,__unsafe_unretained为iOS4.0不支持w原创 2014-06-03 15:28:01 · 1073 阅读 · 0 评论 -
touchbegan 单个手指的识别----UIView 的exclusiveTouch属性
UIView 的exclusiveTouch属性exclusiveTouch的意思是UIView会独占整个Touch事件,具体的来说,就是当设置了exclusiveTouch的 UIView是事件的第一响应者,那么到你的所有手指离开前,其他的视图UIview是不会响应任何触摸事件的,对于多点触摸事件,这个属性就非常重要,值得注意的是:手势识别(GestureRecognizers)会忽略此转载 2014-04-28 16:26:03 · 8952 阅读 · 0 评论