- 博客(27)
- 资源 (4)
- 收藏
- 关注
原创 Mac终端每次启动都要source ~/.zshrc的问题
Mac终端每次启动都要source ~/.zshrc的问题如果在系统用户与群组当中设置了默认shell为/bin/zsh,在启动终端时如果仍然需要source ~/.zhsrc,可以在终端的偏好设置当中查看是否使用的是/bin/zsh
2021-04-17 12:52:44 3857 2
原创 本地化生成Swift脚本
iOS本地化生成Swift脚本看过其他人写的的脚本后发现有些问题,其他人会把Localizable.strings中的value值传入NSLocalizedString,实际上这是不对的,按理应该传入key值,针对这个问题进行了修改。# Localizable.strings文件路径localizableFile="${SRCROOT}/${PROJECT_NAME}/en.lproj/Localizable.strings"# 生成的swift文件路径(根据个人习惯修改)localizedFil
2020-12-01 11:44:34 233
原创 iOS动画:粒子发射器(20)
我们来实现这种下雪的粒子效果要创建粒子发射器的动画,需要用到一个新的layer:CAEmitterLayer在viewDidLoad中创建emitter对象 let rect = CGRect(x: 0.0, y: 100.0, width: view.bounds.width, height: 50.0) let emitter = CAEmitterLayer() ...
2019-05-11 18:38:06 1260
原创 iOS动画:多个视图的3D动画(19)
通过这章,你将实现如下的相册效果:在viewDidApear中添加卡片: for image in images { image.layer.anchorPoint.y = 0.0 image.frame = view.bounds view.addSubview(image) } navigation...
2019-05-09 20:53:00 387
原创 iOS动画:3D动画(18)
根据图示创建动画,当点击菜单按钮时,需要显示左侧菜单栏效果看起来就像一个3D动画。现在我们来实现这种效果。打开工程中的ContainerViewController.swift,创建3D变换函数: func menuTransform(percent: CGFloat) -> CATransform3D {//percent表示菜单显示的百分比进度 var id...
2019-05-09 19:54:13 51372
原创 iOS动画:UIViewPropertyAnimator动画之ViewController Present过渡(17)
静态ViewController过渡动画首先实现一个present的自定义动画。创建PresentTransition,实现UIViewControllerAnimatedTransitioning协议:import UIKitclass PresentTransition: NSObject, UIViewControllerAnimatedTransitioning { func...
2019-05-09 16:50:35 441
原创 iOS动画:UIViewPropertyAnimator动画之贝塞尔曲线(15)
使用内置的curves效果前面我们一直使用的系统内置的一些curves效果,比如:linear, ease in, ease out, ease in out。打开LockScreenViewController.swift添加如下代码 func blurAnimation(_ blurred: Bool) -> () -> Void { return { ...
2019-05-08 20:41:05 1143
原创 iOS动画:ViewController过渡动画之带交互的UINavigationController转场动画(13)
和前一章类似,交互式转场动画仅仅是代理方法的不同。通过手势滑动设置动画的进度。我们来创建一个动画构造器,需要用到苹果内置的动画构造类UIPercentDrivenInteractiveTransition(这是一个类,不是协议,继承时放在第一个位置)。class RevealAnimator: UIPercentDrivenInteractiveTransition, UIViewContro...
2019-05-07 20:48:59 430
原创 iOS动画:ViewController过渡动画之UINavigationController转场动画(12)
和前一章类似,仅仅是代理方法的不同。主要用到UINavigationControllerDelegate的代理方法navigationController(_ navigationController: UINavigationController, animationControllerFor operation: UINavigationControllerOperation, from f...
2019-05-07 17:54:17 752
原创 iOS动画:ViewController过渡动画之Presentation Controller和Orientation动画(11)
Presentation Controller我们来改变系统自带的present动画,主要用到UIViewControllerTransitioningDelegate的代理方法animationController(forPresented:presenting:source:),该代理方法需要返回一个UIViewControllerAnimatedTransitioning的可选对象,当返回...
2019-05-07 16:40:05 601
原创 iOS动画:复制图层(10)
语音输入时,有没有考虑过下面两种波浪形动画是怎么生成的呢?没错,它就是我们今天需要了解的,图层复制动画CAReplicatorLayer。
2019-05-06 18:26:15 310
原创 iOS动画:Stroke和Path动画(9)
利用stroke和Path动画制作下拉刷新动画。首先创建一个虚线圆。 let ovalShapeLayer = CAShapeLayer() ovalShapeLayer.strokeColor = UIColor.white.cgColor//指定path的渲染颜色 ovalShapeLayer.fillColor = UIColor.clear.cgColor//指定圆填...
2019-04-29 16:39:51 1302
原创 iOS动画:Gradient渐变动画(8)
有没有想过iPhone屏幕滑动解锁动画是怎么实现的呢?没错,它就是这一节的重点。首先我们创建一个CAGradientLayer的对象gradientLayer,并为其设置起始点和结束点 gradientLayer.startPoint = CGPoint(x: 0.0, y: 0.5) gradientLayer.endPoint = CGPoint(x: 1.0, y: 0.5)这...
2019-04-28 20:11:48 949
原创 iOS动画:Layer关键帧动画和结构体属性(7)
关键帧动画layer上的关键帧动画和UIView上的关键帧动画略有不同,UIView关键帧动画是将一些独立的简单动画结合起来,它可以为不同的视图和属性设置动画,动画可以重叠和间断。而CAKeyframeAnimation是为单个属性设置动画,你可以定义动画的关键点,但动画不能有任何重叠或者间断。虽然有限制,但效果会更好。创建一个关键帧动画: let wobble = CAKeyframeA...
2019-04-28 17:28:47 476
原创 iOS动画:Layer弹簧(6)
UIKit和Core Animation弹簧 弹簧和摆钟类似,自然情况下,其运行轨迹都类似于一个逐渐减弱的正弦波,如图。影响波形状的因素主要4个:damping:阻尼系数mass:质量stiffness:弹性系数initial velocity:初速度当使用UIKit中的弹簧效果animate方法时,你只能配置其中的两个参数usingSpringWithDamping和initi...
2019-04-28 15:22:47 314
原创 iOS动画:组和时间函数(5)
前面我们已经学习了如何为一个单独的layer添加一些独立的动画,现在我们来介绍动画组CAAnimationGroup,添加彼此关联的动画。CAAnimationGroup也是继承至CAAnimation,如你所想,它也有前面你所熟知的一些属性,例如:beginTime、duration、fillMode、delegate和isRemovedOnCompletion。 let group...
2019-04-28 10:54:23 549
原创 iOS动画:Layer的Key-Value和动画代理(4)
先介绍一下CAAnimation的代理方法。CAAnimationDelegate有两个可选代理方法:func animationDidStart(_ anim: CAAnimation)func animationDidStop(_ anim: CAAnimation, finished flag: Bool)CABasicAnimation继承至CAAnimation。它们都是使用Ob...
2019-04-26 18:46:36 347
原创 iOS动画:Layer动画(3)
首先介绍一下CALayer的一些属性。bounds: 图层大小position: 图层中心点的位置,类似与UIView的center;用来设置CALayer在父层中的位置;以父层的左上角为原点(0,0)transform: 用于图层的移动、缩放、旋转等borderColor: 图层边框颜色borderWidth: 图层边框宽度cornerRadius: 图层圆角半径shadowOff...
2019-04-26 18:46:05 674
原创 iOS动画:开始篇(1)
本篇主要介绍iOS中一些基本的动画实现方法。UIView.animate(withDuration: 0.5) { self.heading.center.x += self.view.bounds.width}调用UIView的类方法 animate(withDuration:animations:) 后动画立刻开始,并执行0.5秒UIView.animate(withDura...
2019-04-26 18:37:57 255
原创 iOS 持续集成系列 - 自动化 Code Review
介绍为了保证代码质量,code review是非常重要的。通常我们在开发过程中只注意到了界面和逻辑的实现,却没考虑到代码的规范性,code review就是来严格要求我们自己的。我们采用OCLint+xcpretty的方式对代码进行审查。在这里,我只介绍本地code review。什么是OCLintOCLint是一个代码静态分析描工具, 可以用来提高质量和减少缺陷, 它目前支持C, C++, Obj
2017-03-09 14:50:35 641
原创 关于Sqlite.swift第三方库的一些用法
最近项目中使用到了sqlite.swift,其中的一些方法做一下记录,github上面有的就不做赘述了。/** 根据字段和主键创建表 */let primaryKey//主键let keys//所以的列 do { try db?.run(users.create(ifNotExists: true, block:{ (t) in
2017-03-07 20:58:28 798
转载 iOS高效开发必备的10款Objective-C类库
MBProgressHUD(进展指示符库) 地址:https://github.com/jdg/MBProgressHUD 苹果的应用程序一般都会用一种优雅的,半透明的进度显示效果,不过这个API是不公开的,因此你要是用了,很可能被清除出AppStore。而 MBProgressHUD提供了一个替代方案,而且在用户角度上,实现的效果根本看不出和官方程序有什么差别。同
2014-06-29 01:16:58 253
iOS Test Driven Development.zip
2019-10-25
iOS Architecture raywenderlich Swift 5(包含源码).zip
2019-09-29
Swift Protocol-Oriented Programming.zip
2019-09-27
《Unity 5.x从入门到精通》配套资源
2017-02-22
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人