iOS 进阶
文章平均质量分 73
想北飞的雁
这个作者很懒,什么都没留下…
展开
-
IOS 点击键盘以外的地方收起键盘
- (void)viewDidLoad{ [super viewDidLoad]; UITapGestureRecognizer *tapGr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)]; tapGr.cancelsTouchesInView =转载 2014-01-02 14:42:32 · 2263 阅读 · 0 评论 -
NSString NSData 转换与常见的 NSString 和 NSMutableString 方法
NSString* aStr = [[NSString alloc] initWithData:aData encoding:NSASCIIStringEncoding];NSData* aData = [aStr dataUsingEncoding: NSASCIIStringEncoding];NSString 和 NSMutableString 可以说是软转载 2014-01-20 17:23:46 · 927 阅读 · 0 评论 -
IOS高级开发~开机启动&无限后台运行&监听进程
非越狱情况下实现:开机启动:App安装到IOS设备设备之后,无论App是否开启过,只要IOS设备重启,App就会随之启动;无限后台运行:应用进入后台状态,可以无限后台运行,不被系统kill;监听进程:可获IOS设备运行除系统外的App(包括正在运行和后台运行);配置项目 plist文件添加:UIBackgroundModes转载 2014-06-11 12:11:25 · 826 阅读 · 0 评论 -
IOS中系统唯一标识ID
在2013年3月21日苹果已经通知开发者,从2013年5月1日起,访问UIDID的应用将不再能通过审核,替代的方案是开发者应该使用“在iOS 6中介绍的Vendor或Advertising标示符”。unique Identifier即将退出,苹果给了我们Vendor和Advertising identifier两个选择,但应该用哪一个?文档并没有给出确切答案,具体使用哪个完全由你根转载 2014-09-11 16:42:12 · 1000 阅读 · 0 评论 -
iOS 图片拉伸的三种方法
纵观移动市场,一款移动app,要想长期在移动市场立足,最起码要包含以下几个要素:实用的功能、极强的用户体验、华丽简洁的外观。华丽外观的背后,少不了美工的辛苦设计,但如果开发人员不懂得怎么合理展示这些设计好的图片,将会糟蹋了这些设计,功亏一篑。比如下面张图片,本来是设计来做按钮背景的: button.png,尺寸为:24x60现在我们把它用作为按钮背景,按钮尺寸是150x50转载 2014-11-20 15:35:40 · 1043 阅读 · 0 评论 -
IOS开发之—xml文件解析(NSXMLParser类)
原文地址:http://blog.csdn.net/smallmuou/article/details/7404330一、概述由于xml具有强大的扩展性及清晰的结构,使其广泛用于各种文件配置,比如皮肤配置;那么在IOS该如何解析xml文件呢?xml解析必然要用到xml解析库,有libxml、tinyxml等,但在IOS的API中提供了NSXMLParser类,通过NSXMLPars原创 2013-08-27 00:01:55 · 811 阅读 · 0 评论 -
iOS常用加密方法(aes、md5、base64)
1、AES加密NSData+AES.h文件[plain] view plaincopy// // NSData-AES.h // Smile // // Created by 周 敏 on 12-11-24. // Copyright (c) 2012年 BOX. All rights res转载 2014-06-11 11:30:10 · 564 阅读 · 0 评论 -
xcode5-ios7-如何添加新尺寸的图标
最近提交itunesconnect应用时,有个警告说缺少120*120图标eg:An iPhone Retina (4-inch) launch image for iOS 6.x and prior is required when targetting releases prior to 7.0.以下是本人解决方法:1. 选择app icons 为:don't use as转载 2014-08-05 17:18:12 · 1501 阅读 · 0 评论 -
IOS中获取各种文件的目录路径的方法
Mac OS X下的文件系统是由一种在特殊区域组织相关文件和数据的方法构成的。文件系统中的每一个文件都有它自己的空间而且应用程序需要知道在哪里去放置它们创建的文件。这在你向App Store发布你的应用程序时尤其重要。 如下的列表列出了应用程序一般要交互的文件夹在文件夹前面有一个字符~表示了该文件夹在home文件夹中,它可以表示拥护的home文件夹或者应用程序的容器文件夹(如果应用程序是转载 2014-08-26 09:54:55 · 370 阅读 · 0 评论 -
在xcode5中修改整个项目名
总会遇到几个项目,在做到一半的时候被要求改项目名,网上找了下相关的资料,大多数是xcode5以前的版本,所以解决好了在这里mark一下,给需要的人。目标为:将项目名XCD4改成xcd5。先上结果图:==》 1.在左侧的导航区域点击两次项目名,两次间隔时间稍微长些,项目名会变成可编辑状态。将名称修改为xcd5后按enter键弹出一个对话框,这个时候放心转载 2014-09-09 17:33:02 · 419 阅读 · 0 评论 -
ios --- 调用系统"设置"里的功能
在安装后第一次运行软件时,系统会弹出提示用户是否允许软件获取当前位置,如果用户不允许的话,之后运行时系统不会在弹出提示设置,这点很不方便,有个解决办法是给用户一个选项,调出iphone中“设置”定位服务选项,由用户手动设置,调用系统“设置”中定位服务相关代码如下:-(IBAction)btnSetting:(id)sender{ NSURL*url=[NSURL URLWith转载 2014-12-26 16:42:30 · 777 阅读 · 0 评论 -
IOS storyboard 的页面跳转
网上google了一下,有关storyboard的页面跳转segue有三种方式,这里不一一赘述了,有关storyboard介绍:传送门正常情况下连线后实现的方法有:跳转的地方: [self performSegueWithIdentifier:@"identifier" sender:self];还要写:- (void)prepareForSeg原创 2013-12-27 13:18:01 · 968 阅读 · 0 评论 -
rand()和srand((unsigned)time(NULL))产生的随机数有什么不同
函数rand()是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子。函数rand()会返回一个处于0和你所指定的数值(缺省为1)之间的分数。如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand()。而使用同种子相同的数调用srand()会导致相同的随机数序列被生成。 srand((unsigned)time(NULL))则使用转载 2013-12-03 10:17:03 · 1307 阅读 · 0 评论 -
UILabel自适应里面的文字,自动调整宽度和高度
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0,0,0,0)];//必须是这组值,这个frame是初设的,没关系,后面还会重新设置其size。 [label setNumberOfLines:0]; //必须是这组值 NSString *s = @"这个frame是初设的,没关系,后面还会重新设转载 2014-01-07 14:19:22 · 733 阅读 · 0 评论 -
UITextField 获取输入内容
在iOS7以下我们可以通过UITextField的delegate方法来获取- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{ NSString *text = [t转载 2014-01-10 17:58:25 · 3683 阅读 · 0 评论 -
一步一步做iOS推送
最近在研究ios的推送问题,遇到了一些问题,最终整理了一下。放在这里和大家分享APNS的推送机制首先我们看一下苹果官方给出的对ios推送机制的解释。如下图 Provider就是我们自己程序的后台服务器,APNS是Apple Push Notification Service的缩写,也就是苹果的推送服务器。上图可以分为三个阶段:第一阶段:应转载 2014-06-16 18:00:28 · 527 阅读 · 0 评论 -
UIActionSheet 按钮不响应点击事件的解决方法
如题,如果在项目中使用了UIActionSheet和UITabBarViewController,那么actionSheet的最底下的一个按钮可能就不会响应你的触摸事件,原因是被tabbar覆盖了,下面是xcode中出现的警告信息:1Presenting action sheet clipped by its superview. Some controls转载 2014-06-25 15:58:23 · 952 阅读 · 0 评论 -
iOS imageview 裁剪成圆形
我知道的实现方法有三种。1、通过image mask来操作,需要添加mask目标图片。2、通过imageview的layer来操作如下代码[cpp] view plaincopyprint?UIImageView * imageView = [[UIImageView alloc] initWithImage:[UIImage ima转载 2014-11-11 14:55:51 · 3849 阅读 · 0 评论 -
IOS开发之多线程GCD和NSOperationQueue,NSOpration
转载地址:http://mobile.51cto.com/iphone-403490.htm在iOS的世界里有两种实现多线程的方式:第一种:GCD官网链接http://developer.apple.com/library/ios/#documentation/Performance/Reference/GCD_libdispatch_Ref/Reference/r原创 2013-08-07 14:37:11 · 1230 阅读 · 0 评论 -
IOS开发之文件系统NSFileManager
转载地址:http://no001.blog.51cto.com/1142339/646414原文:NSFileManager中包含了用来查询单词库目录、创建、重命名、删除目录以及获取/设置文件属性的方法(可读性,可编写性等等)。每个程序都会有它自己的沙盒,通过它你可以阅读/编写文件。写入沙盒的文件在程序的进程中将会保持稳定,即便实在程序更新的情况下。如下所示,你可转载 2013-08-11 14:09:05 · 815 阅读 · 1 评论 -
iOS开发之ios系统中各种设置项的url链接
ios系统中各种设置项的url链接 在代码中调用如下代码:NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIApplication sharedApplication] openURL:url];即可跳转到设置页面的对应项。[font=]About — prefs:root=General&path=Abo原创 2013-08-25 15:24:44 · 1054 阅读 · 0 评论 -
iOS开发之OAuth 授权的实现方式
文章出处: http://zhangbin.cc/archives/1712在 iOS App 中,需要绑定微博、Twitter、Flickr 等第三方平台账号时,一般用 OAuth 授权的方式。OAuth 1.0 授权大致分为以下三步:客户端向平台申请一个 request token,该 token 是未授权的;客户端打开平台提供的登陆页面,引导用户输入用户名转载 2013-09-06 10:37:50 · 1661 阅读 · 0 评论 -
IOS开发之UITableView小效果(禁止弹性效果)
UITableView是ScrollView的派生类,默认bounce是YES的。只要将bounce值设置成NO就可以了UITableView *tableView = [[UITableView all]init];tableView.bounce = NO;//禁止tableView弹性效果原创 2013-08-03 15:43:26 · 13733 阅读 · 0 评论 -
iOS 使用系统默认声音、震动
原文地址:http://blog.csdn.net/like7xiaoben/article/details/9001806导入框架:代码:[cpp] view plaincopy#import #import @interface MsgPlaySound : NSObject转载 2015-05-05 15:22:44 · 701 阅读 · 0 评论 -
IOS调试lldb命令
lldb命令常用(备忘)假如你准备在模拟器里面运行这个,你可以在“(lldb)”提示的后面输入下面的:(lldb) po $eaxLLDB在xcode4.3或者之后的版本里面是默认的调试器。假如你正在使用老一点版本的xcode的话,你又GDB调试器。他们有一些基本的相同的命令,因此假如你的xcode使用的是“(gdb)”提示,而不是“(lldb)”提示的话,你也能够更随一起做,转载 2015-05-28 20:09:36 · 700 阅读 · 0 评论 -
获取iOS设备唯一标识
【获取iOS设备唯一标识】 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要。-[UIDevice uniqueIdentifier]在iOS5实际在iOS5的时候已经被遗弃了,但是iOS7中已经完全的禁用了它。Xcode5甚至不会允许你编译包含了指引到-[UIDevice uniqueIdentifier]的app。此外,iOS转载 2015-07-29 10:16:58 · 610 阅读 · 0 评论 -
iOS应用崩溃日志分析
转自raywenderlich 作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作。它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美。于是你打开代码准备修复闪退的问题……但是,从何处着手呢?转载 2015-07-24 14:44:24 · 822 阅读 · 0 评论 -
[Objective-C]关联(objc_setAssociatedObject、objc_getAssociatedObject、objc_removeAssociatedObjects)
关联 关联是指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分。 关联特性只有在Mac OS X V10.6以及以后的版本上才是可用的。在类的定义之外为类增加额外的存储空间 使用关联,我们可以不用修改类的定义而为其对象增加存储空间。这在我们无法访问到类的源码的时候或者是考虑到二进制兼容性的时候是非常有用。 关联是基于关键字的,因此,我们转载 2015-10-29 16:44:32 · 406 阅读 · 0 评论 -
ASIHttpRequest请求HTTPS
一种方法 ASIHTTPRequest *request = [ASIHTTPRequestrequestWithURL:[NSURLURLWithString:bodyString]]; [request setDelegate:self]; request.timeOutSeconds = 20; [request setRequestMethod:@"PO转载 2015-11-18 13:54:26 · 1006 阅读 · 0 评论 -
NSURLRequestCachePolicy 缓存策略
NSURLRequestCachePolicy 缓存策略1> NSURLRequestUseProtocolCachePolicy = 0, 默认的缓存策略, 如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如: Cache-Control字段为must-revalidata, 则询问服务端该数据是否有更新转载 2016-02-01 15:32:44 · 1247 阅读 · 0 评论 -
HTTP中cache-control的应用及说明
网页的缓存是由http消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。其作用根据不同的重新浏览方式分为以下几种情况: (1) 打开新窗口 值为private、no-cache、must-revalidate,那么打开新窗口访问时都会重新访问服务器。 而如果转载 2016-02-01 15:33:44 · 2135 阅读 · 0 评论 -
iOS判断从系统相册选取的是视频还是照片
第一种方法:并可以获取到视频的缩略图,原文地址:http://blog.csdn.net/xiaobo16/article/details/7759181- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info原创 2016-03-10 18:40:27 · 4362 阅读 · 0 评论 -
iOS navigationcontroller中的back按钮的隐藏及右滑pop操作整理
iOS7之后系统支持了pop手势右滑自动调用back方法,这让我们省了很多事,不用自定义手势,不用自己写方法,只需要写几行代码,轻松搞定,代码如下:原创 2016-04-14 14:17:41 · 10490 阅读 · 2 评论 -
iOS开发中一些小功能代码(持续更新)
1.判断邮箱格式是否正确的代码://利用正则表达式验证-(BOOL)isValidateEmail:(NSString *)email{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [N原创 2013-07-31 21:43:43 · 899 阅读 · 0 评论 -
iOS-NSDate 相差 8 小时
原地址:http://blog.csdn.net/diyagoanyhacker/article/details/7096612NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间好像是从ios4.1开始[NSDate date];获取的是GMT时间,这个时间和北京时间相差8个小时,以下代码可以解决这个问题//方法一转载 2015-04-10 15:40:00 · 797 阅读 · 0 评论 -
如何在iPhone OS下创建、删除、读取、写入文件
创建与删除: //创建文件管理器 NSFileManager *fileManager = [NSFileManager defaultManager]; //获取路径 //参数NSDocumentDirectory要获取那种路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocu原创 2013-08-11 14:05:48 · 717 阅读 · 0 评论 -
iOS开发之transitionFromViewController方法的使用
原文地址:http://blog.sina.com.cn/s/blog_7b9d64af0101c2vm.html1.背景iOS 5.0 以前 ,我们在一个视图控制器中会用addSubView方法来添加很多子View,并进行对这些子View的控制。但是,这样做,有一个问题:一个UIViewController的View可能有很多小的子view。这转载 2013-08-19 14:46:00 · 2290 阅读 · 0 评论 -
iOS开发之数组排序(数组中包括字典)
iOS开发之数组排序(数组中包括字典) 1。普通数组排序: NSMutableArray *arr = [NSMutableArray arrayWithObjects:@"0",@"8",@"6",@"1",nil]; NSArray *sortedArray = [arr sortedArrayUsingComparator:^NSComp原创 2013-09-24 00:03:01 · 2055 阅读 · 0 评论 -
如何在Xcode中封装.Bundle文件
经常会出现某个需求:将自己的模块或者开放类,封装成静态库给其他人提供方便的调用。但是当你的模块中需要大量使用xib,图片,音频或者其他资源文件时,无法添加至静态库。这个时候就需要将一些资源文件封装至.Bundle文件中。那么封装好的东西应该含有三类文件:1:开放的头文件(包含完整的调用注释)2:静态库文件 后缀名为.a3:Bundle文件,用于存放各种资源文件。原创 2013-11-14 10:50:26 · 1284 阅读 · 0 评论 -
【iOS】字符串NSString中去掉空格
某些情况下,服务器返回的字段中含有空格,这空格是服务器开发人员不小心往数据中多敲了,但客户端需要保护,所以在客户端需要把字符串中的空格过滤掉。【问题分析】1、使用NSString中的stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]方法只是去掉左右两边的空格;2、使用NSString *s原创 2013-12-27 10:59:19 · 973 阅读 · 0 评论