東引甌越

不断学习, 与时俱进.

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


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

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

    iOS开发, macOS开发 继续阅读

  2. iOS键盘动画细节

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

    iOS开发, macOS开发 继续阅读

  3. 船与灯塔

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

    文学 继续阅读

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

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

    iOS开发, macOS开发 继续阅读

  5. Taptic Engine振动反馈

    前言Taptic Engine 是苹果产品上推出的全新震动模块,该元件最早出现在 Apple Watch 中。iPhone 6s 和 iPhone 6s Plus 中,也同样内置了Taptic Engine,在设计上有所升级。 Taptic Engine 振动模块为 Apple Watch 以及 iPhone 6s、iPhone 7 提供了 Force Touch 以及 3D Touch,不同的屏幕操作,可以感受到不同的振动触觉效果,带来更好的用户体验 触觉振动体验振动代码(旧方案)调用这行代 …

    iOS开发 继续阅读

  6. 利用UIToolBar做高斯模糊背景

    - (UIView *)containerBackgroundView { if (!_containerBackgroundView) { UIToolbar *toolBar = [[UIToolbar alloc] initWithFrame:CGRectZero]; toolBar.barStyle = UIBarStyleBlack; toolBar.clipsToBounds = YES; _cont …

    iOS开发, macOS开发 继续阅读

  7. Linux 终端 Bash 常用快捷键介绍及经验

    bash及其特性 bash实质上是一个可执行程序,一个用户的工作环境。 在每一个shell下可以再打开一个shell,新打开的shell可以称为子shell,每一个shell之间是相互独立的。 可以使用pstree命令查看当前shell下的子shell个数。 1. 最重要的自动补全 命令 解释 Tab 自动补全 2. 编辑跳转 命令 解释 Ctrl + A 跳转到当前行首 Ctrl + E 跳转到当前行末 Alt + F 将光标在当前行上向后移动一个单词 …

    iOS开发, macOS开发 继续阅读

  8. Objective-C中使用正则去除非数字字母汉字

    前言今天碰到个需求,PM要求输入框中取出非字母数字汉字的输入. 带着这个疑问开始今天的文章 准备工作创建个demo 代码如下 @interface ViewController ()@property (weak, nonatomic) IBOutlet UITextField *input;@property (weak, nonatomic) IBOutlet UILabel *label;@end@implementation ViewController- (void)viewDidL …

    iOS开发, macOS开发 继续阅读

  9. 使用NSAttributeString实现不同颜色大小显示

    前言最近开发需求遇到一个比较简单但又棘手的问题.先看需求 一个UILabel显示不同大小颜色的字符串,当然我们首先的想到属性字符串,但是注意: 我们这里要处理国际化完成的字符串也就是说: 必须在国际化完成以后才能追加我们的逻辑,而不是一上来就加属性字符串 比如: 2分14秒 or 2min14secs 也就是给我们的是一个 "2分14秒"字符串 我们需要匹配range来修改或者替换. 带着这个疑问开始今天的文章? 实现思路孔圣贤有云:”举一隅不以三隅反,则不复也。” …

    iOS开发, macOS开发 继续阅读

  10. Swift4.2中的随机数

    前言在上一篇文章发布不久WWDC2018就拉开了序幕,让我觉得有一点比较蛋疼的(a bit of pain) 是swift4.2中增加了系统的随机数支持.所以不得不完善的好上一篇文章的缺漏和新技术的研究学习.特此新发一篇新的随机数文章以彰其咎. 开发环境 Xcode10或者更高版本 Swift4.2 使用Xcode中的Playground 生成随机数在上一篇中我们大部分时间都在围绕arcrandom()函数来介绍随机数.当然也有它的一些变种.eg:arc4random_uniform(), …

    iOS开发, macOS开发 继续阅读