iOS开发
文章平均质量分 60
梁森森
这个作者很懒,什么都没留下…
展开
-
对iPhone手机型号进行判断
直接将一下代码复制粘贴到Header.h文件中即可,在使用的时候进行判读。#define IS_IPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242,2208), [[UIScreen mainScreen] currentMod原创 2016-03-31 14:33:54 · 947 阅读 · 0 评论 -
Xcode中插件的管理工具-----Alcatraz
原文链接:Alcatraz的安装和使用一、简单说明Alcatraz 是一款 Xcode的插件管理工具,可以用来管理XCode的 插件、模版以及颜色配置的工具。二、如何安装1.github地址:https://github.com/alcatraz/Alcatraz2.安装方法(在安装之前需要下载该软件,并且双击,跳转到终端页面)方法一:在命令行中输入转载 2016-03-08 14:44:53 · 388 阅读 · 0 评论 -
解决直接使用p12文件造成的“此证书的签发者无效”问题
先检查Apple Worldwide Developer Relations Certification Authority Intermediate Certificate证书是否过期,该证书过期也会导致其他iOS证书提示“此证书的签发者无效”的警告2如果过期,则删除过期证书,下载并安装最新的证书:https://developer.apple转载 2016-04-01 11:50:54 · 4228 阅读 · 0 评论 -
pch文件的使用
在Xcode6之前,创建一个新工程xcode会在Supporting files文件夹下面自动创建一个“工程名-Prefix.pch”文件,也是一个头文件,pch头文件的内容能被项目中的其他所有源文件共享和访问。是一个预编译文件。首先说一下pch的作用:1.存放一些全局的宏(整个项目中都用得上的宏)2.用来包含一些全部的头文件(整个项目中都用得上的头文件)3.能转载 2016-02-28 09:19:52 · 539 阅读 · 0 评论 -
stringByAddingPercentEscapesUsingEncoding方法被替换 iOS9.0
最近在Xcode7中,即iOS9.0,发现之前的一个方法已经不被建议使用了。该方法名即题目中提到的:stringByAddingPercentEscapesUsingEncoding,这个方法是用来进行转码的,即将汉字转码。可在iOS9.0中,该方法已经被另一个方法替代了,此方法即:stringByAddingPercentEncodingWithAllowedCharacters:[NSChar原创 2016-04-06 11:11:32 · 23299 阅读 · 0 评论 -
xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决
xcode7中KSImageNamed-Xcode-master插件无法使用问题的解决Xcode 升级到7之后VVDocumenter-Xcode,OMColorSense,KSImageNamed等一系列的插件失效的解决办法,以及不小心误点了 Skipbundle 的解决办法。小伙伴们在升级了 Xcode7 之后有些插件不能使用了.现在提供如下解决办法:1. 首先查看转载 2016-04-07 11:28:10 · 1747 阅读 · 0 评论 -
initialize
+ (void)initialize{ UITabBarItem * item = [UITabBarItemappearanceWhenContainedIn:self,nil]; NSMutableDictionary * dic = [NSMutableDictionarydictionary]; dic[NSForeground原创 2016-04-07 22:23:06 · 508 阅读 · 0 评论 -
学习git的一些命令
在没有SVN服务器的时候,我们需要git来管理我们的代码。SVN是集中式版本控制,git是分布式版本控制。git管理的代码的所有版本既可以保存到服务器也可以保存到本地。当有需要的时候我们才提交到服务器git命令行1.创建一个仓库2.初始化项目 随便添加几个文件3.提交项目到版本控制4.git commit -m '标识'5.配置git的邮原创 2016-03-15 15:00:23 · 255 阅读 · 0 评论 -
利用Xcode管理代码
废话不多说直接上图(一幅图胜过千言万语)1.在创建一个新的工程的时候选中下方的“Create local git repository for this project”这个选项一般是默认勾选的。2.我们选中“Source Control”下的“Commit”,进行代码的提交我们也可以选中“History”查看我们提交程序的各个版本但我有一个问题就是不能原创 2016-03-15 15:20:52 · 288 阅读 · 0 评论 -
得到AppStore中App的下载链接
首先打开iTunes点击iTunes里左上角位置的app的图标然后在右上角搜索框里输入应用名称在搜索结果里找到你需要的应用程序,鼠标左键点开在应用程序的logo处点击右键,就会弹出“拷贝链接”的选项。链接后面数字还有苹果APP的ID号。原创 2016-04-08 18:35:54 · 880 阅读 · 0 评论 -
添加启动图片
我们在设置启动页的时候会删除LaunchScreen转而使用Lunch images Source,而这时给出的几张需要添加的图片有可能并不全从而造成我们在某些尺寸的模拟器上启动时没有启动页。这时需要我们添加新的Launch Image,步骤如上图所示,最后还需将添加的项目修改成默认的项如将LaunchImage修改成Brand Assets然后让Brand Assets删除。原创 2016-04-26 10:47:26 · 276 阅读 · 0 评论 -
苹果系统自带滑动返回功能
之前在iOS开发中在利用导航栏进行页面跳转的时候并没有注意到苹果自带的侧滑返回手势,也就一直没有使用。究其原因是因为我们在使用了自己的返回按钮的时候苹果自带的侧滑返回功能就被覆盖了。如果我们想要使用苹果自带的侧滑返回手势,我们还是可以让它恢复的。步骤:1. 我们在使用导航控制器的时候要继承自系统的导航控制器。2. 导航控制器要遵守协议:3. 实现协议中的方法:- (void)nav原创 2016-04-26 15:17:41 · 3640 阅读 · 0 评论 -
Xcode中将图片放到images.xcassets中的好处
之前做的程序都是直接将图片放到了项目中,但见有的人却将图片放到了images.xcassets中,两者都能实现预期的效果,可并不清楚两者的区别,但我知道区别肯定是有的。后来才发现,原来将图片放到images.xcassets中会有如此大的作用。下面就让我来介绍一下。1.如果图片是被放到images.xcassets中(部署版本>=ios8),之后打包的资源包中的图片会被放到As原创 2016-03-29 11:17:09 · 2893 阅读 · 0 评论 -
简单使用gitHub客户端
本文是介绍简单的使用gitHub客户端,在使用客户端之前gitHub环境已经安装完成。直接看图:1.add:从本地添加一个程序2.为上传的程序命名(注:要中文的)3.“Publish Repository”之后,我们上传的程序就显示在了GitHub上,此时我们到自己的GitHub账户上就可以查找到我们上传的程序。4.原创 2016-04-14 15:42:00 · 819 阅读 · 2 评论 -
新浪微博项目笔记
新浪微博:1.字典转模型、模型转字典、badgeValue首先利用AF获取数据,然后将数据传递给网络封装层,网络封装层将数据(字典数组)转成模型数组传递给数据层。控制器最终需要的只是数据。方法:// 将字典转为Status模型Status *status = [Status objectWithKeyValues:dict];// 将字典数组转为User模型数组NSAr原创 2016-05-11 14:42:59 · 495 阅读 · 0 评论 -
记录用户的登录状态
1.可以利用NSUserfaults这个类来记录用户的登录状态。有别人写的文章可以参考:1.http://www.mincoder.com/article/1768.shtml2.http://www.jianshu.com/p/5e48482a3dac原创 2016-05-11 19:09:46 · 2020 阅读 · 0 评论 -
解决socket服务器(chatserver)的问题
进行socket通讯,用python对服务器设置的过程中,出现如上的错误:解决步骤:1.下载该文件;该文件2.双击解压;3.在控制器中,切换到解压后文件的路径。( cd /###/##/Twisted-13.1.0. )4.在控制器的该路径下,执行:( sudo python setup.py install )OK。问题应该解决了!Iphone Chat转载 2016-05-12 14:49:27 · 1170 阅读 · 1 评论 -
label中文字的自适应
我们在做App的过程中有时UI设计的一些界面上的文字只给出了其距离左右的间距,以及文字的大小,并没有给出文字的长和宽,这时我们需要利用Label的自适应。其实利用label的自适应更多的情况是label上的文字并并不确定,如用户名,这时更需要我们利用label的自适应。代码如下:UILabel * attentionLbl = [[UILabelalloc] init];原创 2016-05-30 15:13:59 · 1823 阅读 · 0 评论 -
友盟分享中添加自定义的分享按钮
最近项目需求,在分享的时候要增加一个复制分享链接的功能。之前项目的分享用到的是友盟第三方分享,但分享中只有分享到几个平台的功能,如:分享到微信、QQ、新浪微博,并没有复制分享链接这样的自定义的功能。我又看了友盟开发文档,说实话本人并没有找到我想要的,后来还是通过百度,看其他人的博客才知道如何添加自定义分享按钮(当然这肯定也在友盟的文档中,但文档内容太多,我没找到,也懒得找,不如在百度中有针对性地找原创 2016-05-17 19:11:12 · 4107 阅读 · 0 评论 -
单元格的点击问题
最近发现公司之前的一个项目中的一个bug:项目要求:点击某个单元格,单元格上的文字变成蓝色(用来记录此时正在播放的视频)。点击其他单元格(即播放其他视频),上一个单元格上的文字颜色变成原来的颜色,此时单击的单元格上的文字变成蓝色。bug:由于单元格采用了复用,点击某个单元格(此单元格上的文字变成蓝色),复用此单元格的单元格上的文字也会变成蓝色。效果图:只点击了单元格的第原创 2016-06-03 14:57:14 · 359 阅读 · 0 评论 -
定位1
需要调用 CLLocationManager requestAlwaysAuthorization 方法,具体步骤如下:1. @interface里: CLLocationManager *locationManager;2. 初始化: locationManager = [[CLLocationManager alloc] init];3. 调用请求:原创 2016-06-15 23:16:20 · 282 阅读 · 0 评论 -
使用UITableViewCell遇到的问题
UITableView这个控件在iOS项目中几乎随处可见,甚至可以说每个应用中都有这个控件。可见此控件应用率之高。最近在使用此控件时却遇到了一些问题,UITableView上的每个小的控件是UITableViewCell。大多数的UITableViewCell都需要自定义,这样会更灵活些,能满足我们功能上的需求。先说我的问题吧:项目需求:一个UITableView上有两种类型的UITabl原创 2016-09-02 15:38:34 · 535 阅读 · 0 评论 -
开发后期在各个页面中添加友盟统计
最近项目已经上线,可上线后老板又让添加一个友盟统计,以便运营查看,于是本人便开始看友盟统计的开发文档了。友盟统计中要求在每个页面的viewWillAppear和viewWillDisappear方法中添加友盟统计的方法:- (void)viewWillAppear:(BOOL)animated{ [superviewWillAppear:YES];原创 2016-09-18 15:05:37 · 2469 阅读 · 3 评论 -
底牌项目中的选择牌谱上传功能--深刻理解UITableView复用
最近底牌项目进行版本迭代,在原有的功能上加了一个发送编辑牌谱、发送牌谱的新功能。发送牌谱功能类似于发送图片功能,可选择牌谱时的功能却需要自己做。本人在做这块功能的时候遇到了一些问题,幸好最后解决了。下面一起说说这些问题,以及解决问题的方法。可以先看一下效果图:此界面的布局:此界面由UITableView构成,根据日期的不同设置单元格,单元格内是一张张图片,在每张图片上添加了一个按钮原创 2016-09-19 14:37:14 · 346 阅读 · 0 评论 -
底牌项目中的上传牌谱功能之将视图生成图片
在项目版本迭代过程中增添了牌谱的功能,在初次看到需求文档的时候首先感到的难点是生成图片的功能。项目需求:用户自己编辑一个牌谱,然后生成图片保存到自己的牌谱中。之前并没有深入地了解过这一块,于是参考类似的App,上网查找相关资料,最终解决了这个难点。先看效果图:界面的搭建很简单,说一下个人思路。思路:在编辑页面编辑完成后,要进行预览,预览的应该是一张图片(因为当点击完成的原创 2016-09-19 17:04:52 · 289 阅读 · 0 评论 -
底牌项目中上传牌谱功能之编辑标准模式
在新增的牌谱功能中首先需要编辑牌谱,而编辑牌谱又分为自定义模式和标准模式,在实现标准模式的过程中就有些费脑子了。首先看效果图:功能需求:用户按照标准模式的进行牌谱的编辑然后进行预览,最终生成牌谱显示在自己的牌谱中(是不是和自定义需求差不多)。在编辑标准模式下如果用户没有编辑某个条目那么在预览中不能显示该条目,如果用户隐藏了某个条目,同样在预览中不能显示。现在的想法:在编辑页面放五个原创 2016-09-19 18:14:16 · 340 阅读 · 0 评论 -
改变UIImage 的大小
最近在底牌项目中公司要求上传的牌谱宽度固定为750像素,首先想到的是改变上传图片的尺寸,下面的方法即可改变UIImage的尺寸。代码:- (UIImage *)reSizeImage:(UIImage *)image toSize:(CGSize)reSize{ UIGraphicsBeginImageContext(CGSizeMake(reSize.width,原创 2016-09-21 16:59:51 · 2009 阅读 · 0 评论 -
JSPatch Platform平台的简单使用
JSPatch Platform是JSPatch的一个平台,使用此平台是为了使用JSPatch,如果大家不了解JSPatch可以网上搜一下,有很多专业的解释,我这里只做一些简单的介绍。先说说JSPatch有啥作用。作用:是iOSApp获取脚本语言能力:动态更新App,替换项目原生代码修复bug。 当时听到JSPatch有这个动态修复bug的功能,感觉有点不可思议,同时觉得这原创 2016-09-22 18:30:16 · 1996 阅读 · 0 评论 -
自定义UITabBar--实现类似新浪微博中间的发送按钮
之前公司提出一个需求,让点击tabBar上中间的一个按钮然后发送一些内容,效果就像新浪微博中中间的发送按钮。可由于公司有其他的功能需求所以这个需求也一直没有真正地下达。最近看一个网上的视频教程,发现有一个自定义的tabBar正好和公司之前的需求吻合,于是就将代贴出来了。代码:首先自定义个tabBar,这个tabBar是继承自UITabBar的。然后将系统的tabBar替换。- (v原创 2016-09-30 11:45:07 · 1094 阅读 · 0 评论 -
MJRefreshFooter明杰刷新控件结束加载显示“没有更多内容”
在使用MJRefreshFooter明杰刷新控件的时候发现一个问题:当没有更多数据的时候结束加载,这时候要在底部显示“没有更多内容”,可我的代码并没有实现预期效果。看代码:if ([responseObjectisKindOfClass:[NSStringclass]]) { // 如果没有更多内容// [self.tableView.foote原创 2016-10-28 17:47:00 · 21818 阅读 · 0 评论 -
如何判断UITabBarController上的NavigationController没有被选中?
最近在看《百思不得姐》这个项目,其中有一个功能:在某个页面再次点击此页面的tabBarButton会刷新此页面。首先要判断点击的tabBarButton是否已经被选中,如果被选中,则再次点击会刷新页面。当然这个判断不是本篇博客要说明的问题,本篇博客要说明的是在确定某个tabBarButton已经被选中的情况下,再次点击所要触发的事件。项目中将所要触发的事件以通知的形式通知给各个naviga原创 2016-11-10 20:06:41 · 637 阅读 · 0 评论 -
在Xcode8上安装插件之后闪退
升级Xcode8之后发现之前的插件都不能用了,上网搜了一下,网上人说是Xcode8不支持第三方的插件了,为的是安全问题。但网上有人说插件还是可以使用的,并且附上了安装插件的方法,可还是注明这样可能导致Xcode不稳定。笔者怕Xcode不稳定也就没有去安装第三方插件。最近在写项目的时候感觉没有一些插件确实写起来挺费劲,于是就又重新安装了插件。这次安装的插件是KSImageNamed,在安装上插件之后原创 2016-11-17 11:37:36 · 1461 阅读 · 0 评论 -
cell高度的缓存1——利用字典进行缓存
在iOS项目开发中会遇到这样一个问题:确定cell的高度。对于cell高度固定的页面来说这个很好办直接在heightForRowAtIndexPath方法中返回固定的一个数值就行。然而对于cell高度不固定的页面来说却需要我们开发人员计算出cell的高度。笔者之前通常会会将计算cell高度的代码放在heightForRowAtIndexPath方法中,看代码:- (CGFloat)原创 2016-11-17 18:10:22 · 694 阅读 · 0 评论 -
cell高度的缓存2——利用模型属性缓存
之前的一篇文章(http://blog.csdn.net/u010105969/article/details/53203860)介绍了利用字典缓存cell高度的方法,可还是略显复杂,因为要多定义一个字典,还得注意字典数据的清除。我们如果利用已有的模型进行cell高度的缓存会更简单些。我们要利用的模型是与cell一一对应的模型。在该模型中增添一个cellHeight的属性用于记录cell的高度原创 2016-11-17 18:20:31 · 630 阅读 · 2 评论 -
UILabel加载html文本
最近项目更改需求,要用UILabel加载html文本(leader看了京东、天猫商城要实现其图文详情页面的效果)。笔者在看了那些商城的相应页面之后发现它们的实现方式并不是利用UILabel加载html文本的方法。本人感觉UILabel加载html文本并不好,现在有WKWebView是比较好用的。即使不用WKWebView也可以返回JSON数据,在客户端这边进行布局。之所以利用UILabel加载ht原创 2016-11-14 19:55:54 · 2370 阅读 · 0 评论 -
pod install --verbose --no-repo-update
如果在使用CocoaPods的过程中发现安装时间较长可忽略更新pod install --verbose --no-repo-update原创 2016-11-15 15:50:56 · 12825 阅读 · 0 评论 -
列举MJExtension中的方法
方法:// 将字典转为Status模型Status *status = [Status objectWithKeyValues:dict];//将字典数组转为User模型数组NSArray *userArray = [User objectArrayWithKeyValuesArray:dictArray];//将模型数组转为字典数组NS原创 2016-04-26 17:24:27 · 340 阅读 · 0 评论 -
友盟推送使用别名(Alias)推送到具体用户
项目最近增加了新功能:积分商城。用户可以通过使用自己的积分进行购物。在新功能中有一个通知中心,显示后台系统发送给用户的一些消息:如购物成功、快递正在派送中、签收成功等,就像淘宝、京东中的消息那样。后台系统要发送推送给用户,这个用户是唯一的,不能像广播那样地发送推送。我们公司中的项目用的推送是友盟推送,友盟推送中有一个添加别名,可以利用添加唯一的别名发送消息给指定的用户。在给指定用户原创 2016-11-24 14:53:23 · 12525 阅读 · 0 评论 -
iOS开发中点击推送跳转到指定页面
消息推送在现在的App中很常见,但同一个App中推送的消息可能有多种类型,点击推送需要跳转到不同的指定页面。做法:我们在接收到推送的时候发送通知,每个页面都接收通知,如果有通知就在当前页面进行页面的跳转跳转到指定页面。如果在每个页面中都添加接收通知的代码会很麻烦,我们可以将接收通知的代码添加到基类中,这样就简单、方便了许多。可有些项目中的代码中可能没有基类,就像我们公司中的这个项目,那原创 2016-11-24 15:25:20 · 2249 阅读 · 0 评论 -
利用UIPanGestureRecognizer手势全屏侧滑返回
在iOS开发中如果我们利用的navigationController(几乎每个项目都有吧!),当从根控制器跳转到下一个控制器再从下一个控制器返回的时候苹果为我们自带了侧滑返回的手势,但有两点需要注意:注意点一:如果我们自定义了返回按钮那么苹果自带的侧滑返回手势会失效(现在App的返回按钮几乎都是自定义,没有像苹果自带App那样返回按钮都是自带的)。注意点二:如果再根视图控制器也进行侧滑,那原创 2016-12-07 13:56:11 · 1877 阅读 · 0 评论