![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS
文章平均质量分 70
混沌极致
这个作者很懒,什么都没留下…
展开
-
ios dispatch_async使用
一般这样使用:dispatch_async(dispatch_get_global_queue(0, 0),^{ //进入另一个线程 dispatch_async(dispatch_get_main_queue(),^{ //返回主线程 }); });参考文章:h转载 2013-01-30 09:55:30 · 4826 阅读 · 0 评论 -
UITextField限制字数的方法
在输入东西的时候,如果想限制最大字数,可以用下面方法:- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; { if ([string isEqualToString:@"\n"])原创 2013-08-15 16:12:50 · 978 阅读 · 0 评论 -
iOS实现透视效果
需求:通过 layer 层,实现透视效果。参考地址:http://geeklu.com/2012/07/ios-3d-perspective/,http://blog.sina.com.cn/s/blog_71715bf801019ut9.html先看一下原始界面:经过 rotate 之后:- (void)viewDidLoad{ [sup转载 2013-08-18 14:52:27 · 2221 阅读 · 0 评论 -
ios 图片的网络下载和显示(可缓存)
思路是:已存在的图片则从本地读取,本地不存在的图片则从网上下载到本地在这里下载图片使用的是ASIHTTPRequest,asi-http-request的使用参考:http://blog.csdn.net/marujunyy/article/details/8474518下面是用法和自己写的一个类的代码:现在需要使用它的类的.h文件中添加delegate,如下:原创 2013-01-24 16:38:49 · 1249 阅读 · 0 评论 -
IOS 操纵状态栏(status bar)
状态栏是可以通过UIApplication类提供的一些方法来修改的,比如完全去掉状态栏或者修改风格,不过这些改变只是在你的程序内部,当你退出你的程序又会复原。UIApplication *myApp = [UIapplication sharedApplication];1.隐藏状态栏[myApp setStatusBarHidden:YES animated:YES];原创 2013-09-03 09:47:19 · 2069 阅读 · 0 评论 -
iOS - 操作文件目录的方法
使用目录的常用方法://获取当前目录- (NSString *)currentDirectoryPath //更改当前目录- (BOOL)changeCurrentDirectoryPath:(NSString *)path //复制目录或文件- (BOOL)copyItemAtPath:(NSString *)srcPath toPath:(NSString *)dstP原创 2013-09-11 20:17:59 · 2218 阅读 · 0 评论 -
iOS - 获取文件夹大小
通常用于删除缓存的时,计算缓存大小//单个文件的大小- (long long) fileSizeAtPath:(NSString*) filePath{ NSFileManager* manager = [NSFileManager defaultManager]; if ([manager fileExistsAtPath:filePath]){ retu原创 2013-09-11 20:45:40 · 1070 阅读 · 0 评论 -
iOS - 在NSString中显示%号
一般%加上一个其它字符组成NSString中的占位符,如%d表示一个整数。如果想在NSString中显示双引号,一般是用转义字符,如 \" ;如果想在NSString中显示%就需要用%%,如:NSString *strTest = [NSString stringWithFormat:@"%f%%",0.25];NSlog("%@",strTest);原创 2013-09-11 19:41:49 · 2886 阅读 · 0 评论 -
iOS 文件下载到本地、缓存 、断点续传
由于项目需要下载一些文件,结合以前写的图片缓存:http://blog.csdn.net/marujunyy/article/details/8538679用ASIHttpRequest 封装了一个文件下载类:支持断点续传、缓存到Document文件夹。使用方法:在.h文件里 #import"AsyncFileBuffer.h" 并添加代理:AsyncFileDelega原创 2013-09-11 09:48:43 · 4629 阅读 · 0 评论 -
ios 手势识别UIGestureRecognizer
UIKit中包含了UIGestureRecognizer类,用于检测发生在设备中的手势。UIGestureRecognizer是一个抽象类,定义了所有手势的基本行为,它有下面一些子类用于处理具体的手势: 1、拍击UITapGestureRecognizer (任意次数的拍击) 2、向里或向外捏UIPinchGestureRecognizer (用于缩放)转载 2013-01-04 17:43:53 · 865 阅读 · 0 评论 -
IOS键盘的相关设置
一、键盘风格 UIKit框架支持13种风格键盘。typedef enum { UIKeyboardTypeDefault, // 默认键盘:支持所有字符 UIKeyboardTypeASCIICapable, // 支持ASCII的默认键盘 UIKeyboardTypeNumbersAndPunct转载 2013-08-21 18:07:23 · 1075 阅读 · 0 评论 -
CALayer实现,界限、透明度、位置、旋转、缩放组合动画
首先引入框架:QuartzCore.framework在头文件声明:CALayer *logoLayer //界限 CABasicAnimation *boundsAnimation = [CABasicAnimation animationWithKeyPath:@"bounds"]; boundsAnimation.fromValue = [NSVal原创 2013-08-06 15:16:39 · 1587 阅读 · 0 评论 -
iOS 时间戳 与 时间相互转化
今天在做接口的时候遇到了时间戳和时间之间转换的问题,上网找了下资料:时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时间的总秒数。它也被称为 Unix 时间戳(Unix Timestamp)。下面是iOS中时间戳 与 时间之间的转换方法:一:把时间转换为时间戳 NSDate *localDate = [NSDate原创 2013-05-15 17:40:54 · 9026 阅读 · 0 评论 -
iOS 使用 宏定义macros (#,##,...,__VA_ARGS_)
一直以来用宏定义#define也就是定义一些简单的常量,至多也就是定义一个函数,很少关注宏定义的用法。直到看到这样的代码:#define PLAYSOUNDEFFECT(...) \[[GameManager sharedGameManager] playSoundEffect:@#__VA_ARGS__]最官方的关于宏的使用说明网址是:http://gcc.gnu.or转载 2013-05-30 20:57:55 · 1299 阅读 · 0 评论 -
ios 隐藏系统状态栏
有两种方法:1.在-info.list文件中,加上“Status bar is initially hidden”选项,并钩上右边的Checkbox,这样应用程序启动时,完全看不到Status bar了。2.在你需要的地方,添加如下的代码:[[UIApplication sharedApplication]setStatusBarHidden:YES withAnimati原创 2013-07-11 21:51:50 · 708 阅读 · 0 评论 -
iOS 错误信息 NSError
一、获取系统的错误信息比如移动文件时,获取文件操作错误:NSError *e = nil;[[NSFileManager defaultManager] moveItemAtPath:sourcePath toPath:targetPath error:&e];if (e) { NSLog(@"move failed:%@", [e localizedDescription]);转载 2013-07-22 19:25:20 · 2798 阅读 · 1 评论 -
IOS触摸事件监听和操作
在IOS开发中会遇到各种操作事件,通过程序可以对这些事件做出响应。首先,当发生事件响应时,必须知道由谁来响应事件。在IOS中,由响应者链来对事件进行响应,所有事件响应的类都是UIResponder的子类,响应者链是一个由不同对象组成的层次结构,其中的每个对象将依次获得响应事件消息的机会。当发生事件时,事件首先被发送给第一响应者,第一响应者往往是事件发生的视图,也就是用户触摸屏幕的地方。事件转载 2013-07-29 13:59:02 · 1329 阅读 · 0 评论 -
OSX升级到10.8.4后Xcode无法正常调试模拟器问题
OSX10.8.4出来之后我就着更新了,更新完以后发现个严重的问题:通过Command+R运行程序里,第一次可以正常运行,第二次必然会崩溃!这时候再怎么按Command+R或者点运行按钮都会不好使,模拟器也跟着崩溃了。手动退出模拟器,再运行应用又可以正常运行,但是再次运行又出现上面的问题;这种情况在真机上不存在。苹果的在官方论坛里已经承认这个Bug的存在,目前临时的原创 2013-07-31 17:11:24 · 1174 阅读 · 0 评论 -
在iOS中使用ZXing库 识别二维码
前言ZXing(Github地址)是一个开源的条码生成和扫描库(开源协议为Apache2.0)。它不但支持众多的条码格式,而且有各种语言的实现版本,它支持的语言包括:Java, C++, C#, Objective-C, ActionScript和Ruby。我上周在iOS项目开发中使用了ZXing的扫描二维码功能。在此总结一下如何将ZXing集成到已有的iOS工程中,分享给大家转载 2013-08-02 14:25:39 · 1724 阅读 · 0 评论 -
iOS 常用方法的宏
由于在项目经常需要用到一些方法,每次都写那么长一串比较麻烦,所以就写了一个.h文件,定义了一些常用方法的宏:文件名:UtilityMacro.h//// UtilityMacro.h// UtilityClass//// Created by mrj on 12-7-8.// Copyright (c) 2013年 极致. All rights reserve原创 2013-05-16 17:37:42 · 923 阅读 · 0 评论 -
ios MKNetworkKit 的使用
常用框架比如:AFNetworking,ASIHttpRequest,SDWebImage,MKNetWorKit等。iOS5已出来这么久了,而ASIHttpRequest的作者已经申明不更新了,在iOS5环境下,其实还是有些问题的。现在MKNetWorkKi吸取了ASIHttpRequest与AFNetWorking的优点,并加入了自己特有的功能。下载:gitHub地址:http原创 2013-01-12 12:38:20 · 11270 阅读 · 3 评论 -
ios 追加写文件
NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *documentPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]; NSString *dP原创 2013-09-24 20:50:31 · 2474 阅读 · 0 评论 -
iOS 使用 Auto Layout 入门
中文版:http://www.raywenderlich.com/zh-hans/22873/ios-6-自动布局-入门-1http://www.raywenderlich.com/zh-hans/23026/ios-6-自动布局-入门-2英文版:http://www.raywenderlich.com/50317/beginning-auto-layout-tutoria转载 2014-09-16 14:35:14 · 966 阅读 · 0 评论 -
Static Libs With Support to iOS 5 and Arm64
With the launch of iPhone 5s Apple brings the 64-bit architecture to mobile, this brings new possibilities for the iOS platform. But there is a restriction imposed by Apple, only projects with deploym转载 2015-03-26 14:21:49 · 651 阅读 · 0 评论 -
深入理解RunLoop
RunLoop 是 iOS 和 OS X 开发中非常基础的一个概念,这篇文章将从 CFRunLoop 的源码入手,介绍 RunLoop 的概念以及底层实现原理。之后会介绍一下在 iOS 中,苹果是如何利用 RunLoop 实现自动释放池、延迟回调、触摸事件、屏幕刷新等功能的。目录RunLoop 的概念RunLoop 与线程的关系RunLoop 对转载 2015-06-02 09:25:56 · 701 阅读 · 0 评论 -
GCD使用经验与技巧浅谈
dispatch_once_t必须是全局或static变量这一条算是“老生常谈”了,但我认为还是有必要强调一次,毕竟非全局或非static的dispatch_once_t变量在使用时会导致非常不好排查的bug,正确的如下://静态变量,保证只有一份实例,才能确保只执行一次static dispatch_once_t onceToken;dispatch_once(&onceToke转载 2015-08-25 16:28:19 · 613 阅读 · 0 评论 -
Object-C编程:类定义与实现
1.类的定义://文件MyClass.h#import @interface MyClass : NSObject {//@interface申明一个新类 类名:基类 @public//公开成员变量 NSString *name;//字符串成员变量声明 @private//私有成员变量 int age;//整形成员变量原创 2013-01-04 12:27:47 · 974 阅读 · 0 评论 -
IBInspectable / IBDesignable
展示,而不是描述。眼见为实。一图胜千言。无论陈词滥调多少次,比起一个需要我们记住并且输入什么的界面来说,如果替换成我们能够看见并可控制的界面的话将会是巨大的进步。 Xcode 6 提供了这样一个替代,在旧技术上建立新的互动。在设计项目的时候建立一个自定义的界面使你可以配置自定义控制并将它们实时显示出来,用IBInspectable 和 IBDesignable,这将成为可能。IBI转载 2015-10-26 09:32:12 · 509 阅读 · 0 评论 -
Objective-C语法之NSString使用详解
Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。1.创建经典的NSString字符串NSString 与 ch转载 2013-01-04 11:53:35 · 687 阅读 · 0 评论 -
HTTPS的使用学习
使用HTTPS最主要的考虑就是数据的安全性。对于HTTPS如何确保数据安全,依靠的就是SSL/TSL层的加密机制。HTTPS也就是在原来的HTTP层的基础上增加了一个安全层。我们需要了解的是HTTPS在建立安全连接时采取四次握手机制,会话密钥的产生。使用会话密钥主要是因为建立安全机制的密钥算法是非对称算法(一般是RSA),计算比较耗时,而会话密钥使用的是对称密钥,可以提高会话的效率。原创 2015-11-02 10:37:47 · 2004 阅读 · 0 评论 -
在iOS开发中使用自定义字体
转载自:http://git.devzeng.com/blog/using-custom-font-in-ios.html在iOS的项目开发中经常遇到需要使用一些自定义的字体文件,比如仿宋_GB2312、方正小标宋_GBK等。之前我们为了使用这些自定义的字体,在应用的资源包中放入这些字体文件。因为字体文件通常比较大,有的一个字库就达到10M以上(拿方正小标宋_GBK这个字库来说就有13M之转载 2016-03-21 18:59:49 · 1300 阅读 · 0 评论 -
IOS中RSA的加密解密
1. 生成私钥: openssl req -x509 -days 3650 -new -newkey rsa:2048 -keyout private_key.pem -out private_key.pem2. 生成p12格式的文件: openssl pkcs12 -export -out private_pkcs.p12 -in private_key.pem3. 生成自签名证书:原创 2014-09-05 13:43:53 · 2206 阅读 · 0 评论 -
dSYM 文件分析工具
来到新公司后,前段时间就一直在忙,前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异常的信息,可是很多像数组越界却只给出了 *** -[__NSArrayM objectAtIndex:]: index 50 beyond bounds [0 .. 39]' 这类错误信息,如下图转载 2014-08-05 17:59:18 · 1549 阅读 · 0 评论 -
CoreData-实现数据永久性保存时遇到的问题
在使用coredata 的时候,需要永久性保存数据, 使用 NSManagedObjectContext 的 sava: 方法来实现。在这个过程中发现各种不能保存,于是乎花了两天的时候来解决它,搜寻各种办法,不过找到的办法无数却始终解决不了我的问题,最后发现了我的问题所在,却让我哭笑不得。总结在保存的时候遇到问题的解决办法:1、使用了多个线程操作同一个 NSMa原创 2014-07-11 14:22:57 · 1549 阅读 · 0 评论 -
iOS - 使用AVPlayer播放音频、视频
最近有个项目需要自定义播放器界面,要求能调节声音、和播放进度并显示播放时间,效果图如下:开始准备用AVAudioPlayer,但是不好控制播放进度,最后使用了AVPlayer ;同时也学习到了怎么自定义UISlider需要引入的framework: AVFoundation.framework 、MediaPlayer.framework 、CoreMed原创 2013-09-06 15:38:56 · 4960 阅读 · 0 评论 -
iOS 获取已连接的wifi信息
首先需要 #import + (id)fetchSSIDInfo{ NSArray *ifs = (id)CNCopySupportedInterfaces(); NSLog(@"%s: Supported interfaces: %@", __func__, ifs); id info = nil; for (NSString *ifnam in ifs原创 2013-11-20 13:53:20 · 2402 阅读 · 1 评论 -
iOS 开发常用数学函数
1、 三角函数 double sin (double);正弦 double cos (double);余弦 double tan (double);正切 2 、反三角函数 double asin (double); 结果介于[-PI/2, PI/2] double acos (double); 结果介于[0, PI] double atan转载 2013-12-12 23:22:11 · 856 阅读 · 0 评论 -
iOS 画圆弧或扇形
核心函数: CGContextAddArcAdds an arc of a circle to the current path, possibly preceded by a straight line segmentvoid CGContextAddArc ( CGContextRef c, //图形上下文 CGFloat x,//圆心x坐标原创 2013-12-15 10:02:31 · 3880 阅读 · 0 评论 -
被废弃的dispatch_get_current_queue
想说说被废弃的dispatch_get_current_queue,不得不提一个概念:可重入。 什么是可重入,来自维基百科:若一个程序或子程序可以“安全的被并行执行(Parallel computing)”,则称其为可重入(reentrant或re-entrant)的。即当该子程序正在运行时,可以再次进入并执行它(并行执行时,个别的执行结果,都符合设计时的预期)。转载 2014-01-14 16:06:09 · 1033 阅读 · 0 评论 -
iOS - NSLog、UncaughtException日志保存到文件
对于真机,日志没法保存,不好分析问题。所以有必要将日志保存到应用的Docunment目录下,方便取出分析。首先是日志输出,分为c的printf和标准的NSLog输出,printf会向标准输出(sedout)打印,而NSLog则是向标准出错(stderr),我们需要同时让他们都将日志打印到一个文件中。解决Crash问题始终是一个难题。Crash分为两种,一种是由EXC_BAD原创 2013-09-25 11:25:27 · 4592 阅读 · 0 评论