随笔分类 -  IOS进阶

分享IOS开发需要完全掌握的技术
摘要:因为项目需要,需要在添加银行卡和提现页面使用数字键盘, 如果用户没有安装第三方键盘是没啥大问题的,但是如果用户手机安装了第三方的键盘的话,有时候会无法调用起第三方的数字键盘,或者第三方键盘样式不符合,这个时候系统的数字键盘是比较符合我们的需求的。那么我们如何在特定的页面使用系统自带的数字键盘呢? 其 阅读全文
posted @ 2017-10-19 15:03 勇敢的少年 阅读(4135) 评论(0) 推荐(0)
摘要:UICollectionView在reloadItems或者更新子控件布局的时候,默认会附加一个隐式的动画 有时候我们并不需要这个动画,如何解决呢? 下面两种方法都可以帮你去除这些动画: 问题还没有结束 上面介绍的方法只能解决UIView的Animation 如果你的cell中或者你的collect 阅读全文
posted @ 2017-05-17 18:53 勇敢的少年 阅读(844) 评论(0) 推荐(0)
摘要:SYRefresh oc 版本地址: https://github.com/shushaoyong/SYRefresh swift 版本地址: https://github.com/shushaoyong/SYRefreshForSwift 一款简洁易用的刷新控件 示例程序: 默认刷新控件使用方法: 阅读全文
posted @ 2017-05-17 18:38 勇敢的少年 阅读(323) 评论(0) 推荐(0)
摘要:因为项目中经常要用到图片浏览器,所以最近利用空闲时间做了一款简洁的相册图片浏览器,支持浏览图片,视频,兼容ios7。地址:https://github.com/shushaoyong/SYPhotoBrowser 下面是示例代码: 更多效果 请进入github查看: 地址:https://githu 阅读全文
posted @ 2017-05-08 11:52 勇敢的少年 阅读(636) 评论(0) 推荐(0)
摘要:之所以添加阴影没有效果是因为 UIScrollView的clipsTobounds默认是YES, 其实阴影是加上了 但是因为设置了这个属性为yes 就会导致阴影显示不出来 解决办法只需要把这个属性改为NO 就可以显示了 但是 这样做了之后scrollview的外面的内容也会显示出来,但是一般情况下是 阅读全文
posted @ 2017-04-09 14:38 勇敢的少年 阅读(1103) 评论(0) 推荐(0)
摘要:发现这种错误解决办法: 在项目配置中添加系统类库:WebKit.framework 阅读全文
posted @ 2017-02-15 13:44 勇敢的少年 阅读(1032) 评论(0) 推荐(0)
摘要:在ios中我们在做验证码的时候 就少不了要用到倒计时 所以 这里就介绍两种实现倒计时的方法 第一种是使用NSTimer方式实现: 第二种方式 使用GCD的方式实现: 阅读全文
posted @ 2016-10-01 10:15 勇敢的少年 阅读(407) 评论(0) 推荐(0)
摘要:NSPredicate是什么? NSPredicate 是预测的意思 但是我们常翻译成谓词 它可以干什么? 使用NSPredicate可以定义模糊查询条件 根据一定的条件 我们就可以从一个数组中快速找出 符合一定条件的元素对象 本次的示范我们沿用上次讲的 NSSortDescriptor 的使用 里 阅读全文
posted @ 2016-09-30 18:13 勇敢的少年 阅读(6471) 评论(0) 推荐(1)
摘要:NSSortDescriptor 是什么 ? 你可以将它看做是对一个排序规则的描述者 因为我们可以使用它来对我们数组中的对象进行排序操作 假设现在有这样一个需求: 数组里面有十个Person对象 每一个Person对象有自己的名字年龄和分数 我们需要对数组里面的这十个对象做排序操作 规则如下: 1. 阅读全文
posted @ 2016-09-29 10:04 勇敢的少年 阅读(3000) 评论(15) 推荐(1)
摘要:block的作用 block用于保存一段代码 在适当的时候再使用 它是一种数据类型 block的定义格式: 返回值 (^block变量名)(形参列表) = ^(形参列表) { 需要执行的代码}; 调用block 直接用block 变量名后面跟上小括号 小括号里面方式参数就可以了 如: block变量 阅读全文
posted @ 2016-09-27 11:51 勇敢的少年 阅读(270) 评论(0) 推荐(0)
摘要:最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBaseCell 下面是实现代码: 以上是.h文件的实现 很简单 就是声明了 STHTMLBaseCell 阅读全文
posted @ 2016-09-22 16:14 勇敢的少年 阅读(586) 评论(0) 推荐(0)
摘要:最近项目中多个页面用到了 商品特价倒计时的功能 为了偷懒 于是自己封装了一个限时抢购 倒计时的view 代码实现如下: 定向价 限时特价 模型代码实现: @implementation STGoodsOrientationPrice @end 限时特价 view实现代码 NSDate+SY 分类代码 阅读全文
posted @ 2016-09-12 23:04 勇敢的少年 阅读(919) 评论(0) 推荐(0)
摘要:RAC学习笔记 ReactiveCocoa(简称为RAC),是由Github开源的一个应用于iOS和OS开发的新框架,Cocoa是苹果整套框架的简称,因此很多苹果框架喜欢以Cocoa结尾。 在学习ReactiveCocoa之前,先学习一下概念 ReactiveCocoa 是一套开源的基于Cocoa的 阅读全文
posted @ 2016-09-12 22:33 勇敢的少年 阅读(1255) 评论(0) 推荐(0)
摘要:看到标题你可能会觉得奇怪 推送消息提示框不是系统自己弹出来的吗? 为什么还要自己自定义呢? 因为项目需求是这样的:最近需要做 远程推送通知 和一个客服系统 包括店铺客服和官方客服两个模块 如果有新的消息推送的时候 如果用户当前不在客服界面的时候 要求无论是在app前台 还是app退到后台 顶部都要弹 阅读全文
posted @ 2016-09-11 07:44 勇敢的少年 阅读(5760) 评论(3) 推荐(0)
摘要:首先大家要明确: 我们调试阶段的崩溃就是真机的闪退 一般程序的崩溃主要有以下几个原因: 1.调用了一个对象不存在的方法导致的 这是最常见的错误 2.数组越界 没有做判断处理 也会导致程序崩溃 3.Tableview 数据源方法 返回为nil的cell(解决办法就是返回一个系统的cell) 所以这里建 阅读全文
posted @ 2015-09-26 21:57 勇敢的少年 阅读(727) 评论(0) 推荐(0)
摘要:delegate:1,“一对一”,对同一个协议,一个对象只能设置一个代理delegate,所以单例对象就不能用代理;2,代理更注重过程信息的传输:比如发起一个网络请求,可能想要知道此时请求是否已经开始、是否收到了数据、数据是否已经接受完成、数据接收失败block:1:写法更简练,不需要写protoc... 阅读全文
posted @ 2015-09-26 21:40 勇敢的少年 阅读(226) 评论(0) 推荐(0)
摘要:按照OSI网络分层模型,IP是网络层协议,TCP是传输层协议,而HTTP是应用层的协议。在这三者之间,SPDY和WebSocket都是与HTTP相关的协议,而TCP是HTTP底层的协议。一、HTTP的不足HTTP协议经过多年的使用,发现了一些不足,主要是性能方面的,包括:HTTP的连接问题,HTTP... 阅读全文
posted @ 2015-09-15 11:29 勇敢的少年 阅读(927) 评论(0) 推荐(0)
摘要:什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和第三方开源库的时间。在使用CocoaPods之前,开发项目需要用到第三方开源库的时候,我们需要1.把开源库 阅读全文
posted @ 2015-09-15 10:33 勇敢的少年 阅读(546) 评论(0) 推荐(0)
摘要:从视频中获取截图:NSString *movpath =[[NSBundle mainBundle] pathForResource:@”iosxcode4″ ofType:@”mov”];mpviemController =[[MPMoviePlayerViewController alloc]... 阅读全文
posted @ 2015-09-14 17:59 勇敢的少年 阅读(1072) 评论(0) 推荐(0)
摘要:从ios8开始,苹果进一步加强了对用户隐私的保护。 当app想要访问用户的隐私信息时 系统不再自动弹出一个对话框让用户授权解决方法:(1)调用ios8.0的API 主动请求用户授权- (void)requestAlwaysAuthorization //请求允许在前后台都能获取用户位置的特权- (... 阅读全文
posted @ 2015-09-11 12:46 勇敢的少年 阅读(257) 评论(0) 推荐(0)