東引甌越

不断学习, 与时俱进.

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


  1. iOS视频加载动画

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

    iOS开发, macOS开发 继续阅读

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

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

    iOS开发, macOS开发 继续阅读

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

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

    iOS开发 继续阅读

  4. 抖音的上下滑实现

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

    iOS开发 继续阅读

  5. iOS数字倍数动画

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

    iOS开发, macOS开发 继续阅读

  6. iOS呼吸动画

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

    iOS开发, macOS开发 继续阅读

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

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

    iOS开发, macOS开发 继续阅读

  8. iOS键盘动画细节

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

    iOS开发, macOS开发 继续阅读

  9. 船与灯塔

    前言 荷兰🇳🇱被称为”海上马车夫”,今天讲述的故事与海上马车夫的有关的爱情故事,但它属于东方,属于中国。 船🚢它是一搜小船,船上有两只船桨,这艘船从驶出造船厂的时候,就被定义为普通货物运输船只,载重不超过1吨,造这艘船的主人希望能靠这只船养家糊口,但又舍不得花更多的钱买好的木料来制造它。 灯塔这是一座集成很多高新科技的灯塔,塔基可以在海上漂浮,自动平衡系统让他在海浪的动荡中稳如泰山,灯塔的父母距离这座新的灯塔不远,形成海上灯塔群,发出很强的激光束,指明航线方向,这坐新的灯塔还能发出加密的无 …

    文学 继续阅读

  10. iOS中CPU线程调试高级技巧

    前言最近在开发直播,发现CPU性能被打满后导致CPU降频,发热严重,然后卡顿… 为了定位这个问题我们花费了至少 3天的时间 一点一点跟踪CPU的线程代码,当遇到C++的thread的时候没有符号表,只能看见一坨对象地址,除此以外连个方法名都没有的时候真是手足无措.本篇介绍一个高级调试 方法,使用符号表和相关 指令寻踪 相关代码调用,写的不好 大佬们请轻喷.代码相关过程感谢同事 陈豪的大力支持. Talk is cheap show me the code我们的实现思路是找到动态库的首地址调用从此 …

    iOS开发, macOS开发 继续阅读