![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
iOS日常开发
CodingFire
从移动端到跨平台,从跨平台到Java,学习是一件让人开心的事,也是一件孤独的事。所谓君子慎独,不欺暗室。共勉之!
展开
-
iOS--设置系统导航栏右上角按钮不显示问题
设置系统导航栏右上角按钮方法:UIButton *rightBtn = [UIButton buttonWithType:UIButtonTypeSystem]; [rightBtn setTitle:@"XXXXXXX" forState:UIControlStateNormal]; [rightBtn setTitleColor:[UIColor colorWithRGB:@...原创 2019-12-05 13:50:24 · 1501 阅读 · 0 评论 -
iOS开发-百度地图基本定位和罗盘跟随的使用,附加地理编码和反地理编码
最近有朋友在问百度地图的使用方法,即使把百度地图的代码拷出来也不能实现,笔者个人认为要么是配置环境不对要么是代码不对,而且百度本身的API也很强大,SDK中提供了很多功能的实现的Demo,笔者曾单独拿出来过定位和罗盘跟随的功能,还有地理编码和反地理编码,现在跟大家分享下: 1,关于百度地图图和配置的我就不多说了,百度的开发文档肯定比我说的详细,笔者只是单独摘了出来供大家参考。 2,这里笔者要说明原创 2015-12-24 17:44:40 · 2701 阅读 · 0 评论 -
iOS开发-同一段文字显示不同颜色
开发中有些UI经常会出现同一段话显示颜色不一致的情况,在美哟好办法的情况下我们会用两个label来实现,但是这样的话适配起来并不方便,这里我有一种方法跟大家分享一下: UILabel* noteLabel = [[UILabel alloc] init]; noteLabel.frame = CGRectMake(60, 100, 200, 100); noteLabel.te原创 2015-12-24 17:25:50 · 2835 阅读 · 0 评论 -
iOS开发-新版Xcode在Appdelegate中通过代码控制跳转,不使用系统默认跳转到默认ViewController
相信使用新版本Xcode的开发者都遇到一个问题,系统默认创建了一个控制器,自动跳转到这个控制器里,而不需要代码跳转到控制器,而很多开发者不熟悉,不想使用这种模式,然而又不知道如何改成代码跳转,所以很多开发者会使用以前的项目工程文件来写新的项目,下面,笔者就为大家演示一下如何把创建的工程改为代码控制跳转的工程: 1.我们先来用最新版本的Xcode创建一个工程,我直接用的是第三个: 2.工程创建原创 2015-12-24 10:24:33 · 4747 阅读 · 0 评论 -
iOS开发-自定义欢迎页和显示时间
昨天一个朋友问我关于欢迎页的问题,说是要在欢迎页加一个菊花下载一个zip文件,当文件下载成功后菊花和欢迎页都消失,我网上找了下资料,发现自定义欢迎页的东西很少,随手研究了下,想到一个方案: 1.先加欢迎页,然后再指定到其中一个控制器,当下载操作完成后,转换根视图控制器,同时我观察了新浪和追书神器等好几款app的欢迎页和广告的承接表现方式,发现都是这种,先显示欢迎页,等广告页面加载完成后再显示广告页原创 2015-12-24 09:40:46 · 2085 阅读 · 0 评论 -
iOS开发-简述UITableView中cell的重用问题
开发中当我们在使用UITableView的时候不可避免的就要碰到cell的重用问题,这里分几种情况: 1.使用xib来做cell,这种情况下cell的重用问题就不会被凸显出来了,只要使用得当,位置算好,是不会出现控件重复的问题的,是一种好的解决重用的方法。 2.使用纯代码布局,在cell的代理中把每一个控件通过add的方式加到cell.contentView上,这时如果不做些处理,当滚动tabl原创 2015-12-25 15:57:11 · 992 阅读 · 0 评论 -
iOS开发-调整文字之间间距
开发中有时候会碰到字体间间距稍大的情况,如果是已知的文字,有比较少我们可以加个空格解决下,但是当蚊子数量比较多,或者文字未知的情况,我们要怎么调整文字之间的间距呢?这里提供一种方法: UILabel *titleLabel=[[UILabel alloc]initWithFrame:CGRectMake(10, 100, 100, 30)]; [self.view addSubview原创 2015-12-25 16:23:06 · 2654 阅读 · 0 评论 -
iOS开发 - 设置tabbar上各选项颜色
今天有个朋友问我怎么设置tabbar上的tabbarItem的标题颜色,按照常规我把这么段代码发过去了:[tabbar.tabBarItem setTitleTextAttributes:[NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor],NSForegroundColorAttributeName, nil] forSta原创 2016-03-16 16:47:45 · 1182 阅读 · 0 评论 -
iOS-关于极光推送小红点的设置问题
以前用的信鸽的推送,不得不吐槽的是,很久了,信鸽依然存在bug,那么最近用了下极光的推送,集成倒是挺简单,看下文档,分分钟就实现了推送,然后我就遇到了问题,小红点不+1,始终为1,我就去看开发文档了,从原理到运用,细细看了一遍,极光有说这个+1的问题,博主发现,不管是直接用setBadge方法还是UIAplication来设置小红点,都是不管用的,万年老1,然后推送的时候设置badge,可以了,但是原创 2016-03-18 10:33:37 · 11398 阅读 · 2 评论 -
iOS开发-系统级分享
最近开发用到了系统级的分享,当然,一般来说有很好的第三方,我们是不会直接来用系统级的分享的,那系统级别的分享怎么用呢?博主看了网上的一些东西,无非都是UIActivityViewController或是简单的封装一下,这里简单说一下UIActivityViewController的优点和缺点: 优点:代码简易,使用简单,可复制,可分享,使用一些系统级别的功能,它长这样。 缺点:例如邮件,短信原创 2016-03-29 09:42:10 · 1494 阅读 · 0 评论 -
iOS开发 - 打开文件后进行文件分享(QLPreviewController)
QLPreviewController的作用就是快速查看文件,包括word文档,pdf,图片,mp3等音视频文件,而且这里有一个功能很强大,那就是上一篇中说的分享,可以把手机中所有app拉起来进行文件分享的,前提是先打开这个文件,所用到的头文件:#import <QuickLook/QuickLook.h>代理协议<QLPreviewControllerDataSource,QLPreviewCo原创 2016-03-29 10:07:30 · 4425 阅读 · 0 评论 -
iOS开发-加在透明视图上的控件会透明
今天在群里看到有人在问一个问题,自定义的Alert,他先加了黑色全屏半透明的view,然后用view来addSubView,自己说自定义的Alert变透明了,在我看来但凡有些经验的人都不会犯这种低级小错误,这里并不批判那位同行,这里简单为新手来说明下这个问题。 跟html一样的,父视图有透明度的话,它的所有子元素,子空间都会继承父视图的透明属性,所以控件都会变得透明,那么想解决这个问题其实也很原创 2016-04-27 09:36:38 · 1925 阅读 · 0 评论 -
iOS开发-如何把广告,图片通过代码加到Screen上
在开发中我们都会遇到要加广告,要图片的需求,我们常用到的就是直接用LaunchImage,但是怎么把特定的东西,如图片,菊花,广告之类的也加到欢迎页上呢?很简单,只需要一句代码就能搞定: UIImageView *imageView=[[UIImageView alloc]initWithFrame:self.window.frame]; UIImage *image=[UIImage原创 2015-12-24 10:43:43 · 866 阅读 · 0 评论 -
iOS开发 - 几道面试题
背景是昨天看到群里有人发面试题,然后一群人就在那里讨论,看完之后我觉得这几道题写的挺好的,所以这里简单的来解释下,首先答案是:对,错,对,错(这个结果应该是对的,不确定的可以自行去查看资料) 1.串行队列Serial Dispatch Queue中的block都在同一个线程里执行,因为这是一个串行队列,串行队列是一个block,队列中有排队执行的任务,每个人物又是一个block,任务对应的bloc原创 2016-05-24 11:59:42 · 552 阅读 · 0 评论 -
iOS-横竖屏管理,支持所有方向旋转时用代码控制允许旋转&不允许旋转
前一段时间做了一个视频的项目,在视频播放时要用到横屏,但是设置了允许横屏,其他的界面也会横屏,而我的项目是不适配横屏的,有人会说,设置只支持竖屏,在需要横屏的界面通过代码来控制横屏,这是一个办法,我在这里说的是另一种办法,首先,在Appdelegate里面加入下面这段代码:- (NSUInteger)application:(UIApplication *)application supported原创 2015-12-23 16:10:21 · 7585 阅读 · 0 评论 -
iOS开发 -关于使用iOS沙盒路径遇到的问题
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Plist" ofType:@"plist"];以上这段代码相信大家都很熟悉,那么我今天说的问题就和这个有关,先说一下博主使用的场景:博主要用plist文件来存取一些数据,每次都需要把上一次存入的数据和这一次拿到的数据做比对并重新存入plist文件。 还有一段类似上面的代码原创 2016-05-11 22:37:30 · 1777 阅读 · 0 评论 -
AFNetWork3.0使用注意事项
因为苹果在6.1后将要使用IPv6,所以很多第三方库都需要重新集成最新的来适配(实际上AF2.0也是支持IPv6的,博主一开始听大家说所以直接集成了3.0,然后才有了这篇博客)。这里就不讲解AF3.0的POST和GET方法了,网上很多,我也只能copy过来,这里就不多余的copy了,有需要的百度或者留言,这里说一说AF3.0需要注意的: 1.AFHTTPRequestOperationManage原创 2016-05-25 16:48:03 · 3071 阅读 · 0 评论 -
在发起网络请求时可能会需要对URLString进行编码
背景是今天一个小妹妹问我说:https你会吗?我要用https的接口请求数据,博主一听,https?上一次刚好用过,但是最后没有证书验证,所以一直很遗憾,当听到时乐坏了,果断说会啊,然后兴高采烈的拿到了小姑娘发的接口和cer证书,点击接口网页打开,看到了json数据。。。。。。。此处沉默三秒种,然后使用AF3.0来请求数据,然后。。。。。。此处沉默一分钟,你猜的没错,都能拿到数据,难道我搞错了?不科原创 2016-05-26 16:38:30 · 1039 阅读 · 0 评论 -
关于支付宝两个回调的说明
前段时间有人问过我支付宝中的回调怎么用,所以这里简单说明下。在集成支付宝支付的时候,会有两个回调,一个在AppDelegate中,一个在支付代码中,都是支付成功的回调,区别是,在AppDelegate中的回调是调用客户端支付成功后的回调(成功和失败),在支付处的回调是通过web支付成功的回调。代码如下://独立客户端回调函数- (BOOL)application:(UIApplication *)原创 2016-05-31 23:22:00 · 16465 阅读 · 3 评论 -
iOS开发-图文混排之cell自适应
又被小姑娘问到图文混排怎么做,拿过来看看,也不算纯粹的图文混排了,其实还是cell的自适应,只不过cell里面可能是文字也可能是图片,于是乎开始码代码,啷哩个啷,接口在此(不知道哪来的):https://api.108tian.com/mobile/v3/SceneDetail?id=528b91c9baf6773975578c5c,看一下json格式的数据: 效果图: 数据嘛,初看有点原创 2016-06-08 11:23:43 · 3578 阅读 · 0 评论 -
一步步教你如何上传头像
上传头像这一步几乎在所有的应用中都会用到,但是博主发现即使是那些工作一年甚至两年的开发者依然会问这个问题,更别提那些初学者了,虽然网上能找到好多种上传的方法,但是都存在不同程度的误差,要么是不够详细,要么是运行出错,所以博主今天就把自己常用的一种方法拿出来给大家分享一下。 首先说明下:博主上传采用的是AF3.0,因为博主去掉了项目中的接口,所以,这个Demo中是不能上传成功的,但是效果会有,看官们原创 2016-06-29 10:43:44 · 14122 阅读 · 1 评论 -
UIAlertController简单使用
上一篇博客中有用到UIAlertView和UIActionSheet,鉴于在iOS8中被废弃,所以简单说明下心提供的UIAlertController的用法,不过也不用急着换,还是可以正常使用的。 博主只说明三个简单的用法,第一:UIAlertView 直接看代码:- (void)AlertView{ UIAlertController *alertVC = [UIAlertCon原创 2016-06-29 12:00:04 · 933 阅读 · 0 评论 -
iOS开发-banner滚动图自定义
以前老是用别人写的banner滚动图,用起来总感觉不顺手,很多东西改了再改,结果改的面目全非,本着创新精神,博主今天自己封装了一个banner滚动图,这里资源来自爱卡汽车的banner滚动图,这不算侵权吧,仅仅写一个小Demo而已,首先来看下效果吧 下面看代码://// TopScrollView.h// 无限轮播//// Created by 刘浩浩 on 16/6/12./原创 2016-06-12 15:27:13 · 6120 阅读 · 1 评论 -
自定义tabbar的基本封装
博主因为一直使用同一个框架,而今日跟一个设计师连天,说到切图,关于切图的规范讨论了好久,从设计师的角度他们切的图都是图标边缘开始切,是不会带空白部分的(前提是自己画的图标,从别的地方copy进ps的设计师的图标就算了),聊到这个,博主不禁说有些地方需要他们专门给我留白,甚至切一大块,然后就说到了tabbar,加入我的tabbar有三个,那么我让设计师切图就是320/3的长,其实是自己偷懒了,包括输入原创 2016-06-01 17:28:21 · 1599 阅读 · 0 评论 -
模仿系统方法自定义UIAlertView的实现和代理
背景是博主偷懒依然用了iOS8后被废弃掉的UIAlertView,然后取消的字体比确定要粗,同时为了统一界面风格,需要把UIAlertView统一换成定制的样子,博主就犯难了,又不想大批量更改代码,怎么办,突然意识到为什么我不能自己写一个类似系统的方法呢,只要整体代码一样,不就可以通过搜索统一修改一下类名就好了么?说干就干,这里贴上代码:#import <UIKit/UIKit.h>@class原创 2016-05-27 17:20:03 · 2618 阅读 · 0 评论 -
Masonry中的mas_equalTo和equalTo
整完Cocoapods后,博主又马不停蹄的学习了Masonry的代码约束添加,博主喜欢纯代码,不过以前一直都是相对布局,虽然Masonry出了时间不短了,却一直没有学,所以学习这个也是顺应时代潮流吧,用了之后确实感觉挺好用的。但是博主在使用中遇到了mas_equalTo和equalTo这两个属性,有啥区别?网上一查都没有很明确的说明是干啥,给我把类别里的宏定义夫指出来接个意思?后来博主自己看了下,e原创 2016-07-01 15:19:36 · 8004 阅读 · 0 评论 -
下载普通http连接的图片和ftp服务器的图片
今天来说下下载图片,开发中经常会加载图片,可是说到下载图片很多人可能并没有尝试过,更遑论是加载的图片地址是在ftp服务器上的,类似于http协议,ftp也是一种协议,区别是,访问ftp服务器需要账号密码登录鉴权的,否则是拿不到图片的。博主遇到这个问题已经是半年前了,今天突然想到,遂拿出来分享下。 先说下载普通图片,方法可能会很多,博主不一一列举了,此处仅放:默认的系统网络请求 NSError *e原创 2016-06-17 11:38:35 · 4562 阅读 · 0 评论 -
定义变量的位置 @interface VS @implementation
开发中总免不了要定义变量,定义在哪,为什么定义在那里可能很多人并不清楚,其实区别很大;@interface中的是成员变量,子类可继承使用,它的存活周期和创建的实体是一样的,在一个控制器中,随控制器的产生和销毁而创建和销毁;@implementation下定义的是全局变量,如果加了{}则为成员变量,但是为私有的,否则为全局变量,但不推荐这么写;需要注意的是,在一个类中的@implementation下原创 2016-06-17 15:28:29 · 1583 阅读 · 0 评论 -
iOS - 设置图片为背景色,且拉伸到指定大小
要设置图片背景色用这个方法:self.view.backgroundColor = [UIColor colorWithPatternImage:lastImage];但是这样的话图片是平铺到指定区域的,并没有进行拉伸。为了实现平铺这里提供两种方法:1.从layer层入手,改变contents:self.view.layer.contents = (id)[UIImage imageNamed:@"原创 2016-07-26 17:32:38 · 5816 阅读 · 0 评论 -
iOS开发 - 让tableView不能下拉刷新,可以上拉加载
刚刚被问到如题的问题,索性试了下,主要是设置tableView的bounces属性,默认为YES,可上下出现弹性区,需要写在scrolView的代理方法中:-(void)scrollViewDidScroll:(UIScrollView *)scrollView{ NSLog(@"%f",_tableView.contentOffset.y); if (_tableView.con原创 2016-07-15 16:50:43 · 6151 阅读 · 0 评论 -
iOS - 遍历指定路径下的所有文件(不包括更下级文件)
有个小伙子要实现以上功能,先不要说话,让博主先笑5分钟 543210小伙子掉进怪圈,好久没写出来,我就写写,然而两分钟后: NSArray *firstSavePathArray=NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask,YES); for (NSString *path in fi原创 2016-07-15 17:25:30 · 4867 阅读 · 0 评论 -
iOS- 点赞动画效果
点赞我们都知道,最简单的就是通过Bool变量或者selected来判断是否选中,然后替换原来的图片,要想有个简单的动画效果,前面博主写过Core Animation里的关键帧动画,这里就用关键帧动画CAKeyframeAnimation来做,只需要在按钮响应方法中添加以下代码,同时替换图片: if (_isSelected == NO) { _isSelected = YES;原创 2016-07-27 11:11:48 · 5705 阅读 · 0 评论 -
iOS开发 - 模拟苹果通讯录
(这里博主重新编辑了文章,增加了特殊字符开头的分组判定依据“#”) 闲来无事看到有人说苹果通讯录右侧字母的点击定位功能,所以就简单写了一个来给大家分享,先看下效果图: 旧图: 新图: 接着是代码部分,直接用新代码覆盖了,增加了更全的注释信息,理解起来更容易://// ViewController.m// 通讯录右侧字母点击效果//// Created by 刘浩浩 on原创 2016-06-21 17:42:35 · 1825 阅读 · 1 评论 -
iOS - 调用相机连续拍照
跟朋友讨论如题中的功能怎么实现,后来用系统的方法实现了这一功能,说起来有点取巧,就是在确定拍照后的图片后重新进入相机界面,前面我发过一篇Object-C的和Swift的上传头像,以这个为基础实现,具体做法是在,选中一张图片后的代理中:-(void)imagePickerController:(UIImagePickerController*)picker didFinishPickingMediaW原创 2016-07-20 11:05:08 · 3504 阅读 · 0 评论 -
iOS-UITextView设置行间距,内容颜色(变相设置类似UITextField的placeholder)
1.在用UITextView的时候一直很苦恼placeholder的设置,最开始是通过添加label,后来觉得麻烦,就通过UITextView本身的一些特性来进行模拟。2.UITextView的行间距设置方法网上很容易搜的到,但是运用中却发现直接设置根本不行,原因是textView一开始必需要有内容(个中原因,不深究,估计是系统级的),但是有又很奇怪,所以想到个主意,一开始就给textView内容,原创 2016-08-01 10:05:30 · 3429 阅读 · 0 评论 -
iOS开发-使用ShareSDK做分享如何让新浪分享后是可点击蓝色文字
如图:要想实现新浪分享是这种形式,首先分享内容里要包含链接,而不能直接放在url里面,分享的type必须是SSPublishContentMediaTypeNews下面看如何来单独自定义新浪的分享: //1、构造分享内容 //1.1、要分享的图片(以下分别是网络图片和本地图片的生成方式的示例) id<ISSCAttachment> remoteAttachment = [Shar原创 2016-08-17 14:52:59 · 1327 阅读 · 0 评论 -
iOS开发 - 友盟分享(自定义分享)如何让新浪分享显示蓝色文字,其他平台内容不显示链接
我们在做分享时纠结于新浪的分享显示和别的平台不一样,新浪的分享链接显示蓝色的文字,其他平台如果分享内容同意显示链接(比如:http://www.xxx.com),那么恭喜你省了一点功夫,但是如果需求上说内容不允许出现链接怎么办?上一篇内容写了在ShareSDK中如何自定义分享的内容,下面说下在友盟中如何来自定义,先看图: 如图是同一个组件中分享出来的,可以看到,显示是不一样的。下面看下代码原创 2016-08-19 14:15:51 · 1797 阅读 · 0 评论 -
iOS-第三方登录无法拉起App问题
这个问题在15年的时候就已经出现了,当使用第三方分享时就需要手动添加白名单盒和允许http访问。这篇博客针对开发不久的小白,大神请自行绕道这里在着重说明下,不管是第三方的分享还是认证,白名单必不可少,如果你不知道怎么添加白名单,以shareSDK中新浪微博的第三方登录为例,如果没有添加白名单,会报这样的警告: 如图所示,圈起来的内容就是需要加入的白名单,怎么添加呢?看下图:还有一个地方的设置需要注原创 2016-09-10 10:14:42 · 3071 阅读 · 0 评论 -
iOS开发- runtime基本用法解析和用runtime给键盘添加工具栏和按钮响应事件
1.如何用runtime给键盘添加工具栏和按钮响应事件:.h#import <Foundation/Foundation.h>#import <UIKit/UIKit.h>@interface KeyBoardTool : NSObject/** * 增加隐藏键盘按钮 * * @param textfield 输入框对象 */+ (void)hideKeyboard:(UITe原创 2016-08-08 17:04:35 · 1348 阅读 · 0 评论 -
iOS开发 -UISearchController的使用和改善方法
效果图 搜索栏在开发中算是比较常见的了,而系统的searchbar很多人并不是很喜欢用,最近博主无意间看到一个系统的searchbar,觉得看着很漂亮,所以就自己来写写,其实设置placeholder,颜色,搜索logo,触发搜索操作都是存在的,看起来也很漂亮,以下是博主写的代码:#import <UIKit/UIKit.h>@protocol SearchInputtingDelegate原创 2016-08-10 14:01:18 · 6459 阅读 · 0 评论