
iOS-进击之路
文章平均质量分 56
夜破星辰_JSON
追求完美、享受成功
展开
-
我是如何进入大前端领域
时代发展、社会的进步促使我向大前端一步步靠近,如果你问我,你干了三年iOS开发,为何转前端呢?我只会回答你,生活所需、兴趣使然、条条大路通罗马背景18年12月离开了上家公司(待了两年多),回到了最初起步的地方北京,技术与经验的积累,让我在三天拿到了第一份offer,也是一个新的领域(做SDK),上了四天左右的班,上家公司已离职的领导向我伸出了橄榄枝,经过一系列的考虑,决定过去做一些事情...原创 2019-09-11 15:31:38 · 359 阅读 · 0 评论 -
第四记- Swift版百思不得
继续上次没完成的模块进行讲解,首先先下效果图这个效果其实实现起来很简单,但是用Swift写的话会有一个坑,因为Swift是类型安全性极强的语言,当值为nil时就蹦了,分析:该效果是控制器中包含两个TableView,点击第一个TableView中的某个cell时,右边对应的TableView就刷新数据,大致就是这么一个情况1:两个TableView都实现协议方法,用一个数组存储原创 2016-08-06 18:26:10 · 461 阅读 · 0 评论 -
NSString转码
一般转码直接用stringByAddingPercentEscapesUsingEncoding就能解决,但是当url中包含符号之类的情况,后台需要接受类似这样的url时。就需要特殊的转码了http://open.weixin.qq.com/connect/oauth2/authorize?appid=wx0f8d672b71fd9a3f&redirect_uri=http%3A%2F%2F9原创 2017-04-14 16:42:42 · 747 阅读 · 0 评论 -
xib创建Cell时重用数据混乱问题解决方案
写这篇文章是因为在项目中遇到了这个问题,,所以拿下来和大家一起分享,平常一直没有因为复用问题而导致数据复用混乱,先看看效果图:出现了旧的数据,所以现在这个问题就不能在使用registerNib注册xib方法了,一般复用出现数据混乱可能原因就是cell中包含UITextField和UICollectionView类型的数据时,出现数据混乱的情况比较大,这时候我们就需要做一些特别得操作,...原创 2017-04-12 17:55:48 · 4519 阅读 · 0 评论 -
UIWebView与js通信
自从去年换工作之后,大致有半年时间没写博客了,主要是现在所处的公司项目是从零开始,而且入职的时候Andriod同事已经来了一个多月了,所以我基本每天都是赶工的状态,现在项目已经迭代了好几个版本,算是属于稳定的状态,今天所分享的是在项目中用到的js交互相关的知识点。 交互无非就是客户端将数据传递给js(js那边想要我们的数据,比如token等),js将数据传递给客户端(我们这边想要js给的原创 2017-04-12 15:49:51 · 554 阅读 · 0 评论 -
点击cell具备和按钮一样的点击效果
其实这里的方法很简单,只需要继承UITableViewCell,然后重写它的方法 但是要注意只是重写,并不在方法里面添加任何内容。重写://重写 但是里面不加任何东西 就能具备点击按钮高亮的效果-(void)setSelected:(BOOL)selected animated:(BOOL)animated{ }只需要一步,就能实现和点击按钮高亮状态一样效果原创 2017-03-22 12:36:52 · 442 阅读 · 0 评论 -
ios10 相册权限访问
没升级ios之前将图片保存在相册步骤是这样的的:第一步: UIImageWriteToSavedPhotosAlbum(currentView.imageview.image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);第二步:- (void)image:(UIImage *)imag原创 2016-11-08 12:22:39 · 750 阅读 · 0 评论 -
ios去除导航栏中1px横线
其实运行程序的时候默认导航栏是有一个黑色的横线,利用Xcode的可视化工具,可以发现其实就是一个UIImageView接下来我就用两行代码解决这个问题 // 添加上这一句,可以去掉导航条下边的shadowImage,就可以正常显示了 [self.navigationController.navigationBar setBackgroundImage:[[UIIm原创 2016-08-05 17:29:27 · 468 阅读 · 0 评论 -
ios按字母排序的通讯录
突然想实现一个按照好友姓名的头字母排序的通讯录,然而想了想大致需要实现的技术点。1:我需要将存储好友姓名的数组变成一个存储好友姓名首字母的数组,并且是按照顺序的。2:需要将存储好友姓名的数组按照同姓氏化为一个组方法变成若干个组,每组有若干个对象,所以就是变成若干个数组,每一个组的数据就是TableView中的section,而组中的数据就是row.效果图:第一步是将转换汉子原创 2016-08-12 17:13:05 · 7357 阅读 · 0 评论 -
ios如何在导航栏缩放用户头像
现在许多应用中都会有下拉放大用户头像,上拉缩小用户头像的功能效果,今天就来实现如何随着滚动而进行缩放。效果图:先上思路:既然是在导航栏上进行缩放,那就应该将图片添加到导航栏的titleView上,然后监听滚动事件,这时候最好先打印滚动的Y值,在分析进行判断然后设置比例,利用transfrom进行图片缩放。关键代码:- (void)scrollViewDidScr原创 2016-08-24 13:29:43 · 1587 阅读 · 3 评论 -
成长小计 - Swift小结
最近公司不忙,就抓紧学习了Swift, 因为本人发现越来越多的ios开发者用Swift写项目,趋势已经很明显,只是时间问题,现在将学习整理的笔记记录在博客里,其实个人感觉语法个不同点弄懂就可以了,框架和OC没啥大区别,一样的套路。Swift是安全性极高的语言1:简单值let做常量 var做变量 ,常量值在编译的时候不需要知道,但是必须是精准的值,也就是说在初始化的时候进行赋值,可以被原创 2016-07-09 11:04:59 · 401 阅读 · 0 评论 -
菜鸟成长记-SDAutoLayout详解
之前的布局一直使用Autolayout进行适配,用着用着就习惯了,但是对有些需求使用还是达不到很到的效果,然后就在网上学习了一些关于布局的三方库Masonry、SDAutoLayout。个人觉得SDAutoLayout用起来更加方便,当然两者的效率方面快慢就没有研究过,但是感觉没多大区别。 这里我只是将一些方法做详细说明,它传递值的方式是通过Block块传输的。 比如原创 2016-05-13 17:08:31 · 2078 阅读 · 0 评论 -
初始React Native - 环境搭建
React Native是2015年9月份Facebook公司推出的一套框架,该框架以组件化形式开发,也就是说它封装了一套套组件,使用React Native可将同一份业务逻辑代码运用到不同的平台,使用js和React来开发不同平台的UI,提高开发效率和成本。本人正在学习React Native ,学习了一些大神发表的有关React技术分享,特此整理以供学习。环境配置:1:首先得安原创 2016-08-22 16:52:55 · 364 阅读 · 0 评论 -
第五记- Swift版百思不得
一:今天讲解最后一个模块,老规矩,附上效果图修改前的图:用的系统的的BarButtonItems,导致间距无法修改,但是如果不用系统的,就相对麻烦很多很多,所以在导航栏这条我想到一个办法就是在中间添加一个空的BarButton,但是问题了,如何让这个添加的空的BarButton没有点击事件,也就是点击时没有反应,就像不存在一样,是的,enabled能解决,说了这么多,原理就是这原创 2016-08-07 10:45:22 · 630 阅读 · 0 评论 -
走进ReactiveCocoa的大门
RAC的核心是RACSignal(信号)RACSignal: 就 RAC 来说是构造单元. 它代表我们最终将要收到的信息. 当你能将未来某时刻收到的消息具体表示出来时,原创 2016-08-25 10:05:07 · 589 阅读 · 0 评论 -
ios版本更新思路
版本更新是每个项目都必备的功能点,实际上有好多种方法解决,这里我就说说其中一种实现版本更新的思路1:原创 2016-08-17 16:12:18 · 405 阅读 · 0 评论 -
菜鸟成长记-NSDate、NSDateComponents使用
NSDate的一些基本属性我就不介绍了,这里我会讲解如何分解时间,比较时间直接上代码解释1: 第一次用此方法实例化对象后,即使修改了系统日历设定,这个对象也不会改变。 NSCalendar * calendar = [NSCalendarcurrentCalendar];2: 现在通过一个NSDate对象获取到一个NSDateCompone原创 2016-03-26 20:50:11 · 1620 阅读 · 0 评论 -
UIScrollView滑动与UITableView左滑删除冲突问题解决方案
今天在项目中遇到这样一个问题,当UIScrollView中包含UITableView时,要实现UIScrollView滑动的同时UITableView也能实现左滑删除功能,说白了就是互不干扰,你干你的,我做我的,但是问题来了!因为二者都是具有滑动手势事件,导致出现冲突,系统不知道你到底是要做那件事,针对这种情况分析如下两点。一:因为我们的动作是手势,但是系统不知道我们操作的那个,所以这里有个判...原创 2017-05-02 15:55:41 · 4809 阅读 · 0 评论 -
好友二级列表(强化版)
记得去年这个时候我写过一个简单的二级列表demo,当时没有在实际项目中用到过,只是觉得这个技术很多地方会用到,就尝试性的学习了,现在整理一下项目中用到的二级列表,先上一下效果图吧,(本人录制gif动态图的软件不是很nb,所以有些看的不是很清楚)大家看到的效果就是实际项目中的,这里面的东西很多,我就拿三个技术点进行讲解,1:具有分组功能的二级列表,这个功能其实就和qq一样2:模糊原创 2017-04-14 15:37:39 · 490 阅读 · 0 评论 -
CocoaPods报Unknown object version错误信息解决办法
报错原因就是因为Xocde不断升级,而Cocopods还是之前的版本,导致版本不兼容,需要升级即可在终端执行如下命令即可gem install cocoapods --pre如果还是无法解决最终执行如下命令可解决sudo gem install -n /usr/local/bin cocoapods ...原创 2018-12-18 10:57:54 · 838 阅读 · 0 评论 -
mac下出现SVN Working copy is too old (format 10, created by Subversion 1.6)的解决办法
由于项目需求,项目中导入了一个图片浏览器的三方库,出现了svn目录不显示问题一 svn工作区报错每天上班第一件事就是打开svn,然后update,但是却出现如图所示界面 二 问题追究出现问题,而且是自己第一次遇到的问题,就得学会查询资料解决,并记录下来,于是开始在网上寻找解决办法,大致就是说在报错的文件下有.svn文件,直接删除就行了,于是找到文件目录,如图 发...原创 2018-11-19 11:09:37 · 737 阅读 · 0 评论 -
苹果开发者账号申请流程(公司)
前言,起因说起来有点复杂,简单点描述就是成立了自己的公司,属于集团旗下子公司,正好之前集团的开发者账号不能用了(因为欠费了,没有人负责这块了),需要子公司自己新建开发者账号(因为主体变了),国庆之前就开始申请了,大致花了近一个半月时间(最后却没有申请成功,片尾会告知为啥) 一.申请Apple ID现在账号都需要进行双重认证才行,百度有认证流程 打开网页,搜索苹果开...原创 2018-11-07 16:52:32 · 2676 阅读 · 0 评论 -
百度地图使用、调起本机App地图
集成百度地图过程不做讲解,直接按照官方文档一步步走即可 开发指南效果图 引入头文件#import <MapKit/MapKit.h>#import <BaiduMapAPI_Base/BMKBaseComponent.h>//引入base相关所有的头文件#import <BaiduMapAPI_Map/BMKMapComponent.h&...原创 2018-08-02 16:21:15 · 5092 阅读 · 0 评论 -
AFNetworking之关于GET、POST、PUT、DELETE封装之旅
前言 这套网络请求其实是两年前封装好的,不过在多个项目中一直在用它,故此将此分享出来问题来源每次加载不同方式请求都要写一遍请求接口数据代码,虽说可以直接粘贴复制,不过审美观实在太差,如下 //获得请求管理者 AFHTTPSessionManager *mgr = [AFHTTPSessionManager manager]; //请求超时时间 ...原创 2018-07-23 14:36:17 · 1179 阅读 · 0 评论 -
程序切换到后台,计时器可继续定时解决方案
项目中的需求:应用进入到后台后,定时器继续进行定时任务解决:先上代码 // 五分钟倒计时 [self countDown]; __block UIBackgroundTaskIdentifier bgTask; bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHand...原创 2018-03-01 12:03:18 · 7025 阅读 · 0 评论 -
IOS 应用出现上下黑边问题
本人遇到的原因是将美工给的jpg文件改为png文件后出现黑边,解决办法是还原为jpg文件,完美解决原创 2017-11-20 19:30:51 · 1367 阅读 · 0 评论 -
ios常用的三种传值方式
总结我项目中常用的三种传值方式 近期在研究Python,公司正好有Python项目,对于自己来说也算是横向发展1:Block传值 场景:比如在同一个页面(A)点击了类型,弹出新的页面(B),这时候需要获取新页面点击的是哪个类型值,,所以就需要新页面将点击的值传递到该页面进行数据操作 1:在B的.h文件中定义Block属性 @property(nonatomic,copy)void (^re原创 2017-12-28 12:19:31 · 622 阅读 · 0 评论 -
ios11下XHToast、MBProgressHUD不显示弹框,问题解决
最近在使用MBProgressHUD时发现不显示弹框,没有任何效果,然后进行追踪调试发现+(UIWindow *)window{// return [[UIApplication sharedApplication] keyWindow];这是修改后的代码 return [[[UIApplication sharedApplication] windows]原创 2018-01-12 10:55:54 · 1442 阅读 · 0 评论 -
PLA1.2/PLA5.2.1被拒历程-已解决
10月8号过完国庆回来之后,开始着手上线我们的应用,轻车熟路的提交了第一版,第二天就收到了苹果的邮件,是的,被拒了,截图如下针对现状提供的解决办法进行第二次提交,两天左右时间吧,依然受到了苹果被拒邮件,截图如下苹果反馈说我们违反了PLA5.2.1协议,违反了知识产权问题,意思是说我们应用元数据不属于我们公司(其实就是认为这个应用内容证明不了是属于你公司的),但审核团队未原创 2017-11-17 15:26:51 · 1791 阅读 · 1 评论 -
meteor构建应用之ios打包
前言本来一直在好好的玩耍着OC,突然领导说子公司有个同事要离职,把他项目交接过来,我欣然的接受了,打开邮箱压缩代码之后一脸懵逼 这尼玛和OC有毛线关系,但是任务来了就得完成,于是一段摸索探究之路就此展开,最终如期完成任务,打包上线。步骤 (所有步骤都是在项目目录下执行)安装meteor环境,在终端执行https://install.meteor.com/ | sh命令,注意因为该请求是越狱原创 2017-07-13 14:35:48 · 1085 阅读 · 0 评论 -
去掉Button按下时置灰效果
时隔一个多月没写东西,由于公司需求跑到福州出差去了,前端时间和项目组负责人一直在规划项目原型及需求,,也侥幸参与了一部分原型设计,由于原型差不多了,所以也着手把一些可以做的需求,,以Demo的形式写写。原型效果是这样的: 本人做出来的效果:原创 2017-09-26 15:31:03 · 3726 阅读 · 0 评论 -
Instruments检测解决iOS内存泄露
前言就不过多阐述了,直接进主题第一步打开自带的Instruments,如下 第二步选择Leaks,让程序运行起来,点击应用就会检查是否有内存泄漏,如下图所示 第三步就是针对第二步来做相对应处理,找到是哪里发生了内存泄漏,如图进行设置 4:直接点击下面发生内存泄漏的地方,,就会直接跳转到对应的代码上,,我发生泄漏的地方时Afn框架造成的,然后针对Afn进行的追踪发现问题所在,修改如下即可//获得请求原创 2017-08-11 18:16:39 · 2057 阅读 · 0 评论 -
ios集成Charts框架并绘制柱形图详解
Charts是github上一框用Swift写的比较全的图表库,Star数有近1.5w之多,手头上的项目对于数据的直观性要求比较多 ,故采用图表形式展示给用户,数据的变化、对比、分析都显得一目了然。在oc项目中集成Charts需要将下载完成后的charts拖入到项目中 打开应用配置环境,新建一个Swift文件,会生成一个.h桥接文件,在该文件中写上@import Charts;。将Charts中原创 2017-07-26 16:40:49 · 3266 阅读 · 0 评论 -
iOS8.4系统下关于点击UITextField闪退问题
事情起因 项目上线有一段时间了,公司本着两周迭代一次的原则,优化用户及运营同事反馈的问题。我是独立负责整个iOS端应用,所以整个项目的策划、完成都是我全权负责,目前应用已步入正规,也达到了盈利的效果。然而有一天一个在前方战斗的BD同事说有一个医生出现闪退现象,我问他是在那个界面怎么操作发生的,他说就是在开方时操作多了会出现闪退,然而别的用不会有这样的情况。事情分析由于提供的线索原创 2017-07-21 16:27:03 · 2102 阅读 · 1 评论 -
菜鸟成长记-MJRefresh自定义刷新样式
MJRefresh是一款非常好用的三方库,这里我讲讲如何自定义刷新动画 1:导入MJRefresh.h,其实要想学会一个三方库的大致使用,你得找到一个主文件,进去看里面包含那个头文件,好一点的作者取名都是具有含义的,可以根据类名大致猜出这个类的作用。#import "MJRefreshNormalHeader.h"#import "MJRefreshGifHeader.h"#im...原创 2016-05-12 15:38:46 · 7701 阅读 · 2 评论 -
第一记— Swift版百思不得姐
之前就说准备用Swift写一个项目练练手,于是就写了一个Swift版的百思不得姐,目前只完成了精华模块的功能,但是后续我会将所有的功能写完,也会记录每个细节及知识点效果图:接下来就一起分析这个项目,并实现了1:整体架构一看,又是在玩TabBar,然后这个咋一看必须得自己搞一个,不然用系统的实现不了关键代码:替换系统的 /**原创 2016-07-21 17:05:51 · 675 阅读 · 1 评论 -
自定义leftBarButtonItem时,解决无法恢复系统侧滑返回功能
想必侧滑功能大家都已经司空见惯了,现在的app绝大部分都有侧滑功能,利用手势提供的API就能实现整体侧滑需求(缺点容易出现手势冲突,但是任意方向都可以实现侧滑效果),但是ios7只有苹果就出了自己的侧滑功能了,系统自带(不会发生手势冲突,但是侧滑范围只限于左侧)。然而不满足于系统自带的leftBarButtonItem效果,自定义时就出来系统自带侧滑失效,这里我讲解如何解决这个问题效果图:原创 2016-08-16 15:34:08 · 1798 阅读 · 0 评论 -
ios随意跳转任何一个界面
对于干活,我都是啃完在啃的,今天在简书上看到一篇不错的文章。万能的跳转界面的方法转载 2016-08-16 11:05:41 · 409 阅读 · 0 评论 -
菜鸟成长记-史上最全的学习资料
程序员就是得不断学习新的知识和研究一些比较好的开源项目、使用一些比较完美的三方库。丰富自己的逻辑思维和知识面给大家介绍一个连接,非常全面。http://www.52codes.net/article/465.html原创 2016-05-11 16:44:39 · 440 阅读 · 0 评论 -
菜鸟成长记-runtime历程
去面一个有一年以上工作年限的ios开发岗位,如果面试官不是搞技术的,runtime一般问不到,但凡是一个懂技术的面试官面一个一年以上的求职者,runtime运行机制是多半会问到的,runtime非常强大,很多人都败在它魔爪之下,当然我在项目中还没有用到过runtime,一般比较好点的三方库都会使用到runtime,比如:MJExtension、AFNetworking等。 今天就自己原创 2016-05-11 16:15:47 · 384 阅读 · 0 评论