iOS CAAnimation(动画)知识详解
关于代码 github源码:星星_新年快乐~ 引用了第三方label框架,制作了闪烁效果 (github源码请看这里) 主要技术: CAShapeLayer。 CAAnimationGroup。 CAKeyframeAnimation。 动画的基本总结github源码: 丛林,新年快乐~ 主要技术: CABasicAniamtion。 CAKeyFrameAnimation。 CAAnimationGroup。 一 、CAAnimation简介 注意: 这些动画都是作用到view的layer上面的,如果对layer了...【详细】
animation
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:168
iOS CAAnimation之CATransition (自定义转场动画工具类)
一、 参考资料: 1.王巍 《博客》(非常详细,推荐阅读) https://onevcat.com/2013/10/vc-transition-in-ios7/ 2.xiao333ma 《博客》 http://blog.csdn.net/xiao333ma/article/details/49028241#t1 3.VincentHK iOS 视图控制器转场详解 工具pod 导入 pod 'PYTransitionAnimater' 二、protocol 1.@protocol UIViewControllerContextTransitioning 这个接口用来提供切换上下文给开发者使用,包含了从哪个VC到...【详细】
animation
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:132
OC_转场动画的工具类(无交互)
转场动画的学习 请看简书iOS CAAnimation之CATransition(自定义转场动画) 一、思路 . a跳转b a: a可以什么都不用做,直接present, b: b要在init方法里面 写这两个方法, 这个方法保证fromView才不会被移除(及可以在modal后看到a控制器的view) self.modalPresentationStyle = UIModalPresentationCustom; 这个属性表示在modal、dismiss的时候会走自定义的方法 self.transitionin...【详细】
animation
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:108
状态码
100-199 信息性状态码 200-299 成功状态码 (常见200表示请求成功) 400-499 客户端错误状态码 (常见404,请求资源不存在) 500-599 服务端错误状态码 300-399 重定向状态码 (常见302重定向) 注:在对那些包含了重定向状态码的非HEAD请求进行响应时,最好要包含一个实体,并在实体中包含描述信息和指向(多个)重定向URL的链接。如: HTTP/1.1 ...【详细】
swift 网络
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:150
Alamofire 、ObjectMapper封装
可以在debug模式下,可以选择测试url demo点这里 简介: 实现统一设置:超时时长、header、对code码的处理。。 统一对url进行了转码。(空格等特殊字符不崩溃) 使用简单,自动转化成为对象。(array,object,json) 对请求结果的清晰打印。(分为正确、错误,只有在debug模式会打印,可以在AlamafireMenager_Configuration中配置是否打印) 结构: ...【详细】
swift 网络
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:154
测试必备,自由切换账号、环境的组件(swift)
最好与AlamofierManager组合使用 请看demo 前言 在开发中,经常要切换环境,来测试各个环境下的代码。 总是改baseURL,然后运行,那不爽爆?写swift的小伙伴都懂 写一个后门儿,只有在debug模式下才会显示出来,并且可以选择相应的url。 提供输入账号密码输入textField,点击登录自动切换账号。 使用 PYSwitchURLConfiguration 在 PYSwitchURLConfiguration 中...【详细】
swift 网络
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:144
iOS 扩展性极强的波浪效果工具类
前言: 工作中遇到冲浪需求,于是找了很多资料做参考,最后集成了一个工具类 一、实现思路 用正弦函数,计算波浪上的点用UIBezierPath的moveToPoint和addLineToPoint连接成线, 用定时器DisplayLink作为动力源 停止波浪: 停止定时器并赋值为nil 开启波浪: 新建定时器,并setNeedsDisplay 二、详细代码 1. 创建 提供的构造方法构造方法 构造方法将自...【详细】
2D Quartz
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:133
iOS Quartz 2D绘图知识详解
Quartz 需要注意的是在UIImageView的子类中重写drawRect:是非法的,你不能把自己的绘制和UIImageView进行结合。 1. Mac OS X的Darwin核心之上的绘图层,有时候也认为是CoreGraphics。共有两种部分组成Quartz: 2. Quartz Compositor,合成视窗系统,管理和合成幕后视窗影像来建立Mac OS X使用者接口。 3. Quartz 2D,是iOS和Mac OS X环境下的二维绘图引擎。 涉及内容...【详细】
2D Quartz
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:160
Quartz 2D 手势 截图 动画小demo
首先介绍这里面一共有两个比较重要的类 一 、手势工具类LYPGestureRecognizerTool.h 大体思路 1 . 由于是手势工具类,所以在以后用的时候,可能回多次创建,所以索性就弄了一个单利类。 static id _instancetype; +(instancetype) sharedGestureRecognizerTool { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instancetype = [[self alloc]init]; }); return _instancetype; } 2 ...【详细】
2D Quartz
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:101
iOS UIGestureRecognizer (手势的基本知识介绍)
手势识别在 iOS 中非常重要,他极大地提高了移动设备的使用便捷性。iOS 系统在 3.2 以后,他提供了一些常用的手势(UIGestureRecognizer 的子类),开发者可以直接使用他们进行手势操作。 手势类型(他们都继承自UIGestureRecognizer,而UIGestureRecognizer继承自NSObject) UIPanGestureRecognizer(拖动) UIPinchGestureRecognizer(捏合) UIRotationGestureRecognizer(旋转...【详细】
2D Quartz
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:111
iOS开发之--图形上下文以及绘图
前言: 对《iOS开发系列--打造自己的“美图秀秀”》文章做了整理 如果对于CGPaht 或CGContextPath有不理解,那么请查:《IOS图形绘制路径 CGPATH & CGCONTEXT相关联的CGPath & UIBezierPath》 在iOS中常用的绘图框架就是Quartz 2D,Quartz 2D是Core Graphics框架的一部分,是一个强大的二维图像绘制引擎。Quartz 2D在UIKit中也有很好的封装和集成,我们日常开...【详细】
2D Quartz
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:160
动态高度的CollectionView,支持tableView内嵌
特点: 高内聚,低耦合,使用简单。配置代码不超过20行。而且,这20行,不需要你自己想,直接抄就行了。 对tableview,基本没有代码侵入,不会影响到你的任何操作,不过,需要你的tableview,行高自适应 实现思路 根据flowLayout以及数据源的count来确定collectionView的Height。 根据每行最多展示数,以及未展最多展示数,来确定collectionView展示...【详细】
swift 个人库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:164
抽屉效果的tableview功能组件:PYScalableTableView
对于导入项目: cocoaPods 集成:请在Podfile文件中写入下面代码 pod “ScalableTableView” 可以点击这里,获取源码直接把代码的直接拖入项目,不过,因为框架一直在更新,所以推荐pod导入 前言: 经常遇到多层cell折叠展开的需求,于是写了一个工具组件。 其中有几个特点: cell的高度自适应,或者统一设置cell高度。 使用简单,注册cell,和ce...【详细】
swift 个人库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:132
可扩展的ToolBar
toolBar很常用,所以做了个工具类扩展性很好 基本介绍: 一、写了两个创建方法 + (instancetype)toolBarViewWithFrame:(CGRect)frame andOptionStrArray:(NSArray<NSString> *)optionStrArray; - (instancetype)initWithFrame:(CGRect)frame andOptionStrArray:(NSArray<NSString> *)optionStrArray; 二、其实你直接这样创建就会出来这种效果: @implementation ViewController - (void)viewDidLoad { [super vi...【详细】
swift 个人库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:121
PYScrollToolBarView(解决了很多手势冲突)
OC: 工具类下载 pod 'PYToolBarScrollView' swift:工具下载 pod 'PYToolBarScrollView_Swift' 一、简介 这个工具写了很久,一直不满意,换了n种方法,最后毛瑟顿开,用最平常的知识解决了问题。虽然很简单,但很巧妙。 适用结构: 1. 顶部有一个topView 2. 中间有个选项栏(toolBarView) 3. 底部有scrollVIew的集合(UITableView,UICollectionView) 效果: 1. 随着底部...【详细】
swift 个人库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:116
PYKit目录
PYKit由swift语言编写其中包含了大多数的需求实现 1. tableView点击cell后展开的组件 抽屉效果的tableview功能组件:PYScalableTableView 2. 事件传递的组件; swift 事件传递工具组件的 封装 3.支持上下左右滚动的 tableview PYScrollToolBarView(解决了很多手势冲突) 4.定时器,与登陆组件 swift GCD-定时器(DispatchSourceTimer)注册登陆组件封装 5.定时器管理工具...【详细】
swift 个人库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:131
查找顶层控制器 OC 与 swift
试了很多种方法,从window入手的相应链条,怎么都绕不开一个循环或递归,来查找顶层控制器 下面OC中用的是 while 循环遍历,swift 用的是递归遍历。 1、 OC 给UIViewController写一个分类,暴露获取方法 + (UIViewController *) getTopVC ///获取Window当前显示的ViewController + (UIViewController *) getTopVC{ UIViewController* vc = [UIApplication sharedApplication].keyWindow.rootView...【详细】
oc swift
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:153
关于cocoapods的安装(重点在于坑)
安装cocoaPods 1.Ruby镜像 输入以下命令查看当前的ruby源 gem sources -l 如果输出的是 *** CURRENT SOURCES *** https://rubygems.org/ 那么需要更新一下ruby的源,过程如下 #(移除当前ruby的源) gem sources --remove https://rubygems.org/ #(设置当前ruby的源为替换成淘宝镜像) gem sources -a https://ruby.taobao.org/ 再次查看当前的ruby源 gem sources -l 这时候输出应该为 *** CURRENT SOURCES...【详细】
cocoapods
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:116
cocoaPods 打包静态库 遇到的坑 and git
cocoaPods 打包静态库 遇到的坑 参考资料 iOS 打包.a文件的那些事儿 iOS-将自己的库支持CocoaPods 错误1 Cloning `https://github.com/CocoaPods/pod-template.git` into `PYScalableTableView`. Configuring PYScalableTableView template. /Users/lp1/.rvm/rubies/ruby-2.2.2/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- colored2 (LoadError) from /Users/lp1/.rvm/rubies/ruby-2...【详细】
cocoapods
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:208
swift用cocoaPods 打包静态库 (OC 与 Swift ,其实是一样的)
步骤、 1. 创建文件夹,用于承载项目 2. 打开终端,并且cd 到你的文件夹 3. 终端执行语句创建项目: pod lib create 你的项目名 `等创建完成后,会自动打开项目。 在终端弹出 4.设置打开项目中的: .podspec文件 # pod库名 s.name = 'PYHandlerDate_Swfit' # pod版本 s.version = '0.1.0' # pod概述 s.summary = '时间管理工具' # pod的详细描述,可选,也可以在前面加#号...【详细】
cocoaPods打包静态库
李鹏跃 2018年01月17日 赞:0 评论:0 阅读:107
sina weixin mail 回到顶部