東引甌越

不断学习, 与时俱进.

嗨,我是孙亚洲(@sunyazhou13),一名来自北国冰城的iOS开发者,也搞过一些mac.现居帝都北京.开发数年有余,没有为往圣续绝学深感惭愧,始于2016.望诸位同仁多多指教.


  1. 探测UIPanGesture的滑动方向

    前言这几天遇到一个问题 就是拖动手势作用在一个view上的时候 无法区分方向 于是找到stackOverFlow上的答案 记录一下 - (void)panRecognized:(UIPanGestureRecognizer *)rec{ CGPoint vel = [rec velocityInView:self.view]; if (vel.x > 0) { // user dragged towards the right 向右拖动 …

    iOS开发 继续阅读

  2. iOS抖音点赞动画实现

    前言hi 大家好 又跟大家见面了,今天给大家分享的是抖音的点赞动画的实现, 废话不多说上图 本篇文章主要包含技术点: CAShapeLayer和贝赛尔曲线绘制三角形 组合动画的时间技巧 我习惯写完文章的demo都附在文章底部,如果不想看原理的小伙伴可直接跳到底部找demo下载. 实现原理首先 我们来详细分解一下这个动画 请仔细观察 我们来看单独的一个动画 请仔细观看 我设置10秒的duration 以便于大家能看清楚 实现原理从上述两张图中,我们可以看到 它是一个 三角形的 …

    iOS开发, 抖音动画系列 继续阅读

  3. iOS视频加载动画

    前言这几天一直跟开源的抖音demo斗智斗勇,今天跟大家分享的是抖音中或者快手中加载视频的动画 上图看成品 实现原理首先我创建一个视图 @interface ViewController ()@property (nonatomic, strong) UIView *playLoadingView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //init …

    iOS开发, 抖音动画系列 继续阅读

  4. iOS所有Animation相关可用的Keypath

    前言在Core Animation中 我们经常使用CABasicAnimation或者它的子类做一些动画 一般情况下我们都要用到Keypath,最近在研究动画,想整理一下所有可用的Keypath在iOS的核心动画中. CALayer的相关属性废话不多说 我们上一段代码演示一下 这篇的主题 CABasicAnimation * scaleAnimation = [CABasicAnimation animation];scaleAnimation.keyPath = @"transform.sca …

    iOS开发, macOS开发 继续阅读

  5. iOS抖音右下角专辑动画

    前言前两天分享了 抖音 上下滑切换 ,今天给和大家分享的是抖音右小角底部的专辑动画 上图看下 再看下抖音的 具体实现思路首先需要3涨素材 这个在demo中就可以找到哈 在文章底部demo中有 ContrainerView Background Layer Album (UIImageView) 我们首先写个 MusicAlbumView 继承自UIView @interface MusicAlbumView : UIView@property (nonatomic, strong) …

    iOS开发, 抖音动画系列 继续阅读

  6. iOS抖音的上下滑实现

    前言一直一来都在 研究抖音App做的短视频 上下滑动 的技术实现, 今天写了个demo,方便学习技术技巧和记录知识, 技术实现原理 UITableView 其实就是一个UITableView改变上下显示范围. talk is cheap show me the code 我说话不绕弯子,代码如下 实现起来非常简单 _tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, -SCREEN_HEIGHT, SCREEN_WIDT …

    iOS开发, 抖音动画系列 继续阅读

  7. iOS数字倍数动画

    前言写了一个简单的利用 透明度和 缩放 实现的 数字倍数动画 实现思路上代码 看比较清晰 // 数字跳动动画- (void)labelDanceAnimation:(NSTimeInterval)duration { //透明度 CABasicAnimation *opacityAnimation = [CABasicAnimation animationWithKeyPath:@"opacity"]; opacityAnimation.duration = 0. …

    iOS开发, macOS开发 继续阅读

  8. iOS呼吸动画

    前言快放假了, 怕十一文章更新不及时,早点完成文章,保证每个月 2篇的产出量, 今天给大家带来的是 呼吸动画, 做的不是特别好. 上图 大概是这个样子 需求和实现思路具体要求 内部头像呼吸放大缩小 无限循环 每次放大同时需要背景还有一张图也放大 并且透明 点击缩放整个背景视图 实现思路首先 需要使用创建一个Layer 装第一个无限放大缩小的呼吸的图背景也需要一个Layer 做 放大+透明度渐变的动画组并且也放置一张需要放大渐变的图片 最后点击触发. 添加一个一次性的缩放动画即可 呼吸动画 …

    iOS开发, macOS开发 继续阅读

  9. iOS扩大UIButton的点击的响应范围

    前言开发过程中经常遇到UIButton点击区域太小 又不想 改动按钮的大小. 今天的文章和大家分享一下解决这种问题的代码 实现思路 子类话UIButton 复写 它的hitTest:方法 子类话UIButton 复写 point:inside:withEvent: 方法 第一种方式override func hitTest(_ point: CGPoint, with event: UIEvent?) -> UIView? { let biggerButtonFrame = t …

    iOS开发, macOS开发 继续阅读

  10. iOS键盘动画细节

    前言很久没写技术文章里,本篇记录了一下一个键盘弹出的小细节动画,像微信一样流程 上图 动画细节代码细节核心主要是通知中的一些key 动画时长 动画的出现方式 … 下面的通知是接收 键盘将要出现的通知UIKeyboardWillShowNotification [[NSNotificationCenter defaultCenter] addObserver:self selector:@selecto …

    iOS开发, macOS开发 继续阅读