iOS
一步一台阶
跬步行千里,滴水聚江海!
展开
-
iOS弹解盘时 控制界面滚动的封装类
大家都知道iOS不像安卓那样键盘弹出的时候输入框会往上边自动移动,很多时候回盖住输入框,带来不好的用户体验。所以我封装了一个类,专门用于弹出键盘时控制界面。代码如下,这两个类的代码我已经上传,在我上传的代码里可以找到。#import @interface SyAnimationUtil : NSObject/** * 点击UITextField需要弹起的View及高度 * *原创 2015-09-27 10:33:01 · 409 阅读 · 0 评论 -
Xcode如何在自己的工程中引入另外一个工程及相关错误的解决办法
这几天一直在总结iOS的开发框架,想自己搭建一套万能的开发模版,这时候难免会用到以前工程中一些有用的东西,所以想在自己项目中引入另一个项目,通过摸索,终于找到了套路,下面把经验分享给大家,同时非常改写这篇文章的作者,给了我很大的帮助:http://m.blog.csdn.net/blog/yhc13429826359/38333821 这时候你一定已经有两个工程了,一个是自己的工程(原创 2015-11-26 17:08:05 · 6503 阅读 · 1 评论 -
UITextView实现 return键隐藏键盘
iOS开发中,发现UITextView没有想UITextField中textFieldShouldReturn:这样的方法,那么要实现UITextView return键隐藏键盘,可以通过判断输入的字符是不是回车符来实现。首先,声明要实现UITextView 的delegate。@interface MyViewController :UIViewController 然后, 设置tex原创 2015-11-02 11:00:52 · 696 阅读 · 0 评论 -
iOS 利用平移缩放旋转手势对view实现对应的平移缩放旋转效果(一)
当你看见这个题目的时候,就应该之后平移缩放旋转手势和view对应的平移缩放旋转是两码事儿。也就是说如果我们想利用手势,对某个view进行某些操作,就必须明白两个问题,一是如何分辨和接收手势操作,而是如何根据接收到的手势对视图进行平移缩放旋转。 一、先说说如何分辨和接收手势操作 手机端的手势无非分为三种,就是题目中所提到的平移缩放旋转,当然ios有专门的类,来对应这三种手势。那这原创 2015-11-20 17:12:27 · 1601 阅读 · 0 评论 -
详解UITableViewCell的重用机制和错误解决办法
先给出一段大家比较常用的UITableViewCell的重用方法代码- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ static NSString *CellIdentifier = @"Cell"; UITableV原创 2015-11-02 13:23:46 · 823 阅读 · 0 评论 -
iOS 保存和获取本地图片的封装函数
//将图片保存到本地+ (void)SaveImageToLocal:(UIImage*)image Keys:(NSString*)key { NSUserDefaults* preferences = [NSUserDefaults standardUserDefaults]; //[preferences persistentDomainForName:LocalPath]原创 2015-11-02 12:14:37 · 795 阅读 · 0 评论 -
iOS XCode中的手机模拟器 利用键盘鼠标模拟各种手势 解决捏合手势中心不动的问题
大家都知道,iOS开发和安卓开发在模拟器上有一点明显的不同,就是iOS的编程工具XCode中内置的模拟器是可以模拟手势的。但是之前一直没有对手势的使用方法总结过,只知道option+鼠标左键可以实现捏合手势。但是捏合手势的中心一直都是屏幕中心,今天看了《精通iOS开发》这本书关于手势的这块儿才恍然大悟,原来他的手势原来是这么使用的。 先来说说捏合手势和轻扫手势的实现过程,你就自然明白原创 2015-11-17 15:21:30 · 12731 阅读 · 0 评论 -
UITableView中用xib实现的cell中的View点击后View消失
昨天在写UITableViewCell的时候遇到一个问题,我是用加载xib文件的方式写的UITableViewCell。在xib文件中,放了一个UIView。这时候问题出现了,每当我点击某个表单项目的时候,UITableViewCell对应的xib中的UIView就不显示了,我百思不得其解。后来我把表单项点击之后的背景效果去掉了,在- (UITableViewCell *)tableView:原创 2015-10-27 10:34:52 · 919 阅读 · 0 评论 -
dateFromString 函数造成时间差问题
今天调用下边的代码 NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"yyyy-MM-dd"]; [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviatio原创 2015-11-09 17:48:24 · 1383 阅读 · 0 评论 -
利用多核优势,遍历NSDictionary
在现在多核CPU的时代,如果遍历NSDictionary的时候你还是通过先取key,在通过key取v alue的方式,你就out啦 NSMutableDictionary *_dbalertlogMap;[_dbalertlogMap enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) {原创 2015-11-09 14:49:37 · 713 阅读 · 0 评论 -
本地保存图片的几种思路
这几天做项目,涉及到把图片保存在本地这一类的需求,经过学习,自己总了一下本地保存图片的两种思路 1.保存在相册,可以供以后查看 2.以数据流的形式(即把图片转化为NSData格式)保存在本地我把这两种思路封装了三个函数,第一个函数是按第一个思路写的,后边两个是用第二种思路写的。下面一一介绍//保存照片至相册+ (void)saveImageToPhotoAlbum原创 2015-12-15 11:25:48 · 2055 阅读 · 0 评论 -
在NSString中显示%号两两种办法
我们都知道%在NSString中是有特殊含义的,比如%lf,代表后边的变量是float类型的,那么我们怎么让字符串中显示出%这个符号呢?经过查资料我总结出了两种方法,第一种比较简单,第二种比较复杂。第一种:利用转义字符一般字符的转移直接用\即可,如\"就代表"而%的转移字符为%,即我们要想让NSString显示%,只要写成%%即可。NSString *percentStr原创 2015-12-30 14:29:47 · 1666 阅读 · 0 评论 -
NSClassFromString()与NSStringFromClass()的用法及应用场景
NSClassFromString()用于利用一个字符串来创建一个类,例如: NSString *responseClass =@“MyModel”;MyModel *model=[[NSClassFromString(responseClass) alloc] init];NSStringFromClass()是获取与类型名称同名字的字符串,例如:MyModel *mode原创 2015-12-16 15:22:24 · 12234 阅读 · 0 评论 -
iOS alloc和new的区别与联系
1.在实际开发中很少会用到new,一般创建对象咱们看到的全是[[className alloc] init]但是并不意味着你不会接触到new,在一些代码中还是会看到[className new],还有去面试的时候,也很可能被问到这个问题。2.那么,他们两者之间到底有什么区别呢我们看源码:+ new { id newObject = (*_alloc)((Clas转载 2015-08-01 14:29:26 · 502 阅读 · 0 评论 -
从极光推送的实现原理概括iOS和Andriod推送原理
推送是手机中非常常见的功能了。可是在实现上iOS和Andriod却有很大的差别。 因为iOS有强大的产品生态体系,APP从研发到审核上架,再到最后在手机端运行,都有严格的把关。所以推送功能在它这里实现起来比较简单。每个时候只要保持一个与APNs的常链接,服务器将要推送的消息发送给APNs,APNs再将消息转发到响应的手机APP,就能很好的实现推送功能。由于手机APP所有的推送功能有统原创 2016-07-24 20:55:26 · 31500 阅读 · 2 评论 -
Xcode折叠函数设置 及快捷键
升级到Xcode7后,会发现代码折叠功能不见了,这是怎么回事?其实这个功能还在的,只是苹果默认把这个功能禁掉了:在Xcode菜单里选择Preference——Text Editing,你会发现里面有一个“code folding ribbon”,勾选它就能恢复代码折叠功能了。然后通过菜单Editor——Code Folding,你就可以使用你需要的折叠功能。相关转载 2016-06-07 10:57:09 · 8235 阅读 · 0 评论 -
iOS上架被退回的理由总结
众所周知,iOS版本的APP的商检要经过严格的审查,一般有结果都要到提交之后的一到两周了。下面对我经历过的退回的理由进行下总结,以免以后出现类似的错误。 1.审核人员对APP用途不明确,要求提供演示视频。 可能是提交的APP的功能在比较有特点,审核人员通过读相关说明并没有对APP的功能了解的很透彻要求提交有关部分的功能演示视频才给予通过。 2.后台地图定位,需要添加耗电提原创 2016-04-09 12:12:59 · 870 阅读 · 0 评论 -
UIImagePickerController页中,按钮显示中文问题
今天遇到一个bug,就是UIImagePickerController中“重拍”和“使用图片”都显示成了应为“Retake”和“Use Photo”,如下图全局搜索了一下“Retake”和“Use Photo”也没有找到相应的字符串,后来在网上找到了相应的解决办法。就是在xcode中直接配置参数,如下图:之后还要设置,如下图:之后打开拍照再看,文字就变成中国文了原创 2016-02-13 12:48:29 · 2230 阅读 · 0 评论 -
UIImageJPEGRepresentation和UIImagePNGRepresentation
在Iphone上有两种读取图片数据的简单方法: UIImageJPEGRepresentation和UIImagePNGRepresentation. UIImageJPEGRepresentation函数需要两个参数:图片的引用和压缩系数.而UIImagePNGRepresentation只需要图片引用作为参数.通过在实际使用过程中,比较发现: UIImagePNGRepresentation(转载 2015-12-04 16:24:14 · 481 阅读 · 0 评论 -
NSData、 UIImage、ALAsset之间的关系和转化
其实三者之间没有什么一一对应关系,但是某些情况下可以相互转化。 NSData一般用于发送请求用,把图片,音频等都可以转化为NSData,这样在能在网络请求中可以直接发送了。 UIImage 就不多说了,它可以通过NSData生成,也可以从ALAsset中提取。 ALAsset类代表相册中的每个资源文件,可以通过它获取资源文件的相关信息还能原创 2015-12-04 16:17:50 · 5588 阅读 · 0 评论 -
iOS用户点击退出按钮,跳到登录界面的代码控制
iOS用户点击退出按钮,跳到登录界面的代码控制每个程序都有自己的退出功能,一般是点击退出按钮之后程序跳到登录界面,但是单纯的调用方法 self.navigationController pushViewController:(UIViewController *) animated:(BOOL)只能是把登陆界面压栈,前面的界面还在。所以正确的办法肯定是退回到最初开始登陆时的状态原创 2015-12-03 17:25:15 · 14955 阅读 · 6 评论 -
iOS对金额千分位显示的问题
最近在项目中遇到了对金额千分位显示的问题,封装了个函数//金额千分位显示,保留小数点后两位+ (NSString *)positiveFormat:(NSString *)text{ if(!text || [text floatValue] == 0){ return @"0.00"; }else{ NSNumberFor原创 2015-12-17 17:44:06 · 5603 阅读 · 1 评论 -
计算NSDate之间相差的秒数
//lastDate和nowDate为NSDate类型,最后得到的秒数为lastDate-nowDate所得 NSInteger timeDistance= [lastDate timeIntervalSinceDate:nowDate]原创 2015-11-09 17:54:44 · 2195 阅读 · 0 评论 -
leftBarButtonItem修改回退图片颜色的问题
今天鼓捣了半天leftBarButtonItem 明明左箭头的图片是白色的,嘿,可它就是显示蓝色,试了好多办法都搞不定,最后一句查到一句 [[UINavigationBar appearance] setTintColor:[UIColor whiteColor]]; 解决了, 原来“tintColor属性影响所有按钮标题和按钮图像”,受教了。 原原创 2015-10-23 16:48:23 · 1255 阅读 · 0 评论 -
几个ios正则表达式 判断邮箱 手机号码 身份证号码
//判断是否为邮箱- (BOOL) validateEmail: (NSString *) candidate{ NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *emailTest = [NSPredicate predicateWithFormat原创 2015-09-01 22:25:02 · 1777 阅读 · 0 评论 -
UILable如何添加单击事件
直接上代码,有注释 //初始化UILableUILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(60, 0, listV.frame.size.width - 60, listV.frame.size.height)]; //设置其可以接收用户交互的事件(默认情况下为NO) lable.userInteractionEn原创 2015-08-02 16:16:49 · 828 阅读 · 0 评论 -
UILabel如何设置成透明
今天自定义了一个按钮,因为继承了UIControl类,而不是UIButton ,所有没有settitle方法。而在自定义按钮上增加一个UILabel视图的话就会盖住自定义按钮的背景图片。后来把Lable设置成了透明的,解决了问题。 下边是查到的资料: UILabel缺省的背景是不透明的,创建后其背景颜色会覆盖背后的视图内容,而在开发时,一般是需要UILabel背景透明,仅原创 2015-08-02 16:07:54 · 1667 阅读 · 0 评论 -
从NSDictionary 取出int型的数据
昨天编程的时候遇到一个问题,就是收到一个NSDictionary类型的数据,里面有个值是int类型。用强制类型转换(在数据前边加上(int)或者(integer))取不出值来,后来还是通过先转成字符串再把字符串转化成int才取到的。具体代码如下:int value=[[NSString stringWithFormat:@"%@", dict[@"count"]] intValue];原创 2015-08-01 14:16:30 · 7223 阅读 · 1 评论 -
iOS如何在一个图标上加上气泡,显示数字
最近在搞一个怎么在一个图片上加一个气泡,显示数字,找了半天终于在网上找到了一个demo,果然强大啊只要引入这个类JSBadgeView即可下面介绍使用方法 JSBadgeView badgeView= [[JSBadgeView alloc] initWithParentView:View alignment:JSBadgeViewAlignmentTopRight];原创 2015-07-19 12:27:47 · 2100 阅读 · 3 评论 -
如何能使xcode拥有自动注释并生成文档的功能
如何能使xcode拥有自动注释并生成文档的功能 主要分为两步: 安装Appledoc和配置xcode 首先说下这两步的关系,安装完Appledoc之后,只要你在代码中按照规定的格式书书写注释,xcode就可以对注释的代码进行解析,用“option+鼠标左键”就可以看到这些注释,如附图: 但是我们理想的目标是注释的框架能自动生成,而不是自原创 2015-07-15 22:04:37 · 636 阅读 · 0 评论 -
Property follows Cocoa naming convention for returning 'owned' objects 错误解决办法
今天命名了一个变量,用了new开头,结果报了题目“Property follows Cocoa naming convention for returning 'owned' objects ”错误。后来查了查原来是因为命名不规范造成的。You create an object using a method whose name begins with “alloc”, “new”原创 2015-07-19 16:06:28 · 3098 阅读 · 0 评论 -
iOS Simulator不支持的功能
今天写了一个获取本机号码的程序,本来想为 iOS Simulator设置一个本机号码。后来查了查原来不行。作为真实设备的软件模拟器, iOS Simulator确实有其局限性。 iOS Simulator不支持的功能有: 打电话 访问加速计 发送与接收SMS消息 安装App Store中的应用程序 照相机 麦克风原创 2015-07-26 21:18:39 · 860 阅读 · 0 评论 -
assign、copy、retain、weak、strong的区别与联系
今天遇到了一个问题,给一个数组里面的对象附上值之后,在别的地方取,居然取不出来,最后发现问题是我把一个BOOL类型的属性设成了assign。我当时用了ARC,改成strong还报错。说是普通类型不能设成strong。最后把BOOL类型改成了NSString才解决了。所以恶补了一下有关属性的相关知识。 assign、copy、retain、weak、strong的区别与联系 as原创 2015-07-26 21:32:01 · 566 阅读 · 0 评论 -
HTTP常用状态代码
作为一名手机软件的开发者,免不了要和服务器打交道,因为现在手机的存储量有限,我们很多东西都要和后台交互.我们在访问服务的时候,也免不了会有出错的情况.我们可以通过服务器返回的状态码初步确定出错原因.HTTP常用状态代码HTTP状态码(HTTP Status Code)是用以表示网页服务器HTTP响应状态的3位数字代码。它由 RFC 2616 规范定义的,并得到RFC 251原创 2015-09-10 11:23:46 · 567 阅读 · 0 评论 -
iPhone为什么不设置返回按钮
一直有一个疑问,iPhone为什么不设置返回按钮呢?查了好多资料都不得其解。后来想到了iOS的性能优化问题,似乎想到了一些原因,也仅仅只代表个人的观点。 我最初想到这个问题的时候,是在和一个同学一起开发手机项目的时候。我搞ios,他搞安卓,后来我发现,他的很多界面都没有设置返回键,却可以正常运行。我的就不行了,不在界面上添加返回按钮,根本没办法回退。这也许正是iOS性能优化之处。如原创 2015-09-10 14:46:49 · 766 阅读 · 0 评论 -
NSDate转成NSString的函数
/** * 获得字符串型的日期 * * @param date * * @return */-(NSString *)getCrrentDay:(NSDate *)date{ NSDate *dateNow; dateNow=date; NSCalendar *calendar = [[NSCalendar原创 2015-09-05 20:42:37 · 422 阅读 · 0 评论 -
分享几个appstore之外的iOS软件下载网址
大家都知道appstore有时候很难上去,还有很多软件是收费的,下面给大家介绍几个比较好的其他的iOS软件下载的网址。http://soft.macx.cn/http://www.macdang.com/原创 2015-11-08 13:37:20 · 142992 阅读 · 0 评论 -
NSDate和NSString的相互转换
//输入的日期字符串形如:@"1992-05-21 13:08:08"- (NSDate *)dateFromString:(NSString *)dateString{NSDateFormatter *dateFormatter = [[NSDateFormatteralloc] init];[dateFormatter setDateFormat: @"yyyy-MM-dd HH:m原创 2015-11-07 15:46:54 · 471 阅读 · 0 评论 -
通过格林尼治时间的long型的毫秒数获取NSDate型的数据 格式化输出
-(NSString *)longtimeToDate:long timelong{//timelong 为long型的数据 NSString* _time= [NSString stringWithFormat:@"%@",timelong ]; NSDate *d = [[NSDate alloc]initWithTimeIntervalSince1970:[_time d原创 2015-10-21 16:52:20 · 601 阅读 · 0 评论 -
上边的UITableViewCell覆盖下边的UITableViewCell的问题
今天编程过程中遇到一个问题,就是UITableViewCell加载xib文件,xib的高度大于UITableView中设置高度函数中设置的高度值,结果显示的时候,上边的cell会盖住上边的cell。折腾了好久,终于找到了原因。原来是在UITableViewCell对应的xib文件中会有一个ContantView,我在ContantView中又加了一个view,往这个view里面放了控件。把控件从v原创 2015-10-21 14:50:34 · 1645 阅读 · 0 评论