代码改变世界

随笔分类 -  iOS

Mach-O在内存中符号表地址、字符串表地址的计算

2019-09-27 00:00 by l4y, 2419 阅读, 收藏, 编辑
摘要: "KSCrash" 是一个用于 iOS 平台的崩溃捕捉框架,最近读了其部分源码,在 文件中有一个函数,代码如下: 该函数被如此调用: 0 迷惑现场 一个 image 中会有多个 segment,参数 传递的是 image 的索引,如果返回的是 segment base, 那么是哪个 segment? 阅读全文

iOS 开发中一些 tips

2019-04-10 21:34 by l4y, 182 阅读, 收藏, 编辑
摘要: tableView 的 tableHeaderView 高度不正确的问题: 阅读全文

自定义 Alamofire 的 response serializer

2019-04-10 16:03 by l4y, 836 阅读, 收藏, 编辑
摘要: Alamofire 的 DataRequest 类针对二进制数据、字符串、json、属性列表提供了一系列方便解析的方法(内部实际上使用的是 Response Serializer),现在我们要针对服务端返回的数据格式定义我们自己的 Response Serializer。 假设服务器返回的数据格式是 阅读全文

UITableView tableHeaderView 自动布局

2018-10-10 10:53 by l4y, 1252 阅读, 收藏, 编辑
摘要: 如果,headerView 或其子视图中包含多行的 UILabel,UILabel 高度可能会有问题,表现为 label 只展示单行、或 label 正常展示但约束依赖于 label 的其他视图不正常,可以设置 label 的 属性来修正该问题。 阅读全文

iOS 组件化的几篇文章

2018-03-22 22:09 by l4y, 380 阅读, 收藏, 编辑
摘要: 随着工程的成长,开发人员的增多,合理的模块划分及低耦合的重要性显得愈发重要。最近在思考这方面的问题,也读了不少通过组件化解耦的文章,这里记录一下。 前 5 篇文章有些关联,建议阅读顺序,1、3、2、4、5,Casa 的文章建议看评论区。 蘑菇街 "蘑菇街 App 的组件化之路" "蘑菇街 App 的 阅读全文

【吐槽向】iOS 中的仿射变换

2017-09-29 20:36 by l4y, 431 阅读, 收藏, 编辑
摘要: 什么是仿射变换矩阵 实际上就是一个用于绘制 2D 图形的的仿射变换矩阵。仿射变换矩阵用于旋转、缩放、平移、扭曲(skew)在图形上下文中绘制的对象。 提供了了一些列的函数来创建、连接或者运用这些变换。 仿射变换通过一个 3 行 3 列的矩阵来表示: 那么对于一个点 (x,y) 来说,使用上边的矩阵来 阅读全文

iOS 用户体验之音频

2016-07-08 22:07 by l4y, 271 阅读, 收藏, 编辑
摘要: 早期某知名公司的应用有这么一个问题,如果我在听音乐时打开该应用,播放一段小视频,视频播放完成之后,音乐没有继续播放。这个问题被很多用户吐槽,很久以后,该公司终于修复了这个问题。 无论声音是应用体验的重要部分,还是作为润色,你都应该知道用户期待声音有怎样的行为。 用户可以通过音量键、静音开关、耳机,以 阅读全文

【iOS】Core Bluetooth

2016-04-21 19:50 by l4y, 232 阅读, 收藏, 编辑
摘要: 本文介绍蓝牙4.0的一些基本知识。 基本概念、服务器、客户端 蓝牙LE是一个基于点对点的通信系统,其中一台设备作为服务器,另一台设备作为客户端。拥有数据的设备作为服务器,消费数据的设备作为客户端。 比如,心率监测器、温控器、手环等,都可以是服务器。服务器通过广播确定自己产生什么类型的数据并把数据发送 阅读全文

【iOS】3D Touch

2016-04-10 18:36 by l4y, 233 阅读, 收藏, 编辑
摘要: 文章内容来源于Apple的开发者文档:https://developer.apple.com/library/content/documentation/UserExperience/Conceptual/Adopting3DTouchOniPhone/,这个文档中还提供了几个示例,建议直接阅读该文 阅读全文

Objective-C 中的 BOOL

2016-03-02 21:30 by l4y, 336 阅读, 收藏, 编辑
摘要: 之前开发了一个针对单个数据模型,自动建表、增删改查等操作的 ORM 库,后边在 iPhone 5c 上使用时,出现了 crash 的情况。 该项目在 Github 开源,项目地址为 "SXJDatabaseManager" 。 经定位,问题就出在了模型中的 BOOL 类型的属性上。 看下 BOOL 阅读全文

load vs. initialize

2015-10-21 13:03 by l4y, 262 阅读, 收藏, 编辑
摘要: 这篇文章来对比一下NSObject类的两个方法, 与`+initialize`。 Invoked whenever a class or category is added to the Objective C runtime; implement this method to perform cl 阅读全文

When does layoutSubviews get called?

2015-06-30 14:43 by l4y, 264 阅读, 收藏, 编辑
摘要: 转自:http://blog.logichigh.com/2011/03/16/when-does-layoutsubviews-get-called/It’s important to optimize any UIView layoutSubviews method you create, as... 阅读全文

使用Quartz 2D擦除图片

2015-06-30 00:01 by l4y, 286 阅读, 收藏, 编辑
摘要: Quartz 2D 是一个强大的二位图像绘制引擎,在开发中如果遇到需要高度自定义的控件,我们就可能需要用Core Graphics进行绘制。 这几天一同事开发一个聊天中的一个子模块,A 画一幅图,然后发给 B。这需要使用到 Core Graphics,我看了他的代码,图形绘制、填充等 API 使用当 阅读全文

NSDateFormatter 格式说明

2015-06-11 18:53 by l4y, 294 阅读, 收藏, 编辑
摘要: 格式化参数如下:G: 公元时代,例如AD公元yy: 年的后2位yyyy: 完整年MM: 月,显示为1-12MMM: 月,显示为英文月份简写,如 JanMMMM: 月,显示为英文月份全称,如 Janualydd: 日,2位数表示,如02d: 日,1-2位显示,如 2EEE: 简写星期几,如SunEEE... 阅读全文

iPhone 各版本屏幕分辨率

2015-06-10 10:50 by l4y, 626 阅读, 收藏, 编辑
摘要: 参考:http://www.paintcodeapp.com/news/iphone-6-screens-demystified 阅读全文

ALAssetsLibrary

2015-06-04 20:05 by l4y, 248 阅读, 收藏, 编辑
摘要: ALAsset An ALAsset object represent a photo or a video managed by the Photo application. Assets can have multiple representations, for example a photo 阅读全文

自定义TabBar之理解hittest

2015-05-03 10:23 by l4y, 248 阅读, 收藏, 编辑
摘要: 需求的TabBar是这样的:5个 tabItem, 中间的那个 item 部分超出系统默认TabBar的上边界。 那么实现的关键点就是如何在点击它突出的部分的时候,也可以正常获得响应。我来把问题简化,我把下图中的红色的视图(类型为 ,继承自 )称为 redview,蓝色的视图(类型为 ,继承自 )称 阅读全文

NSRunLoop(来自官方文档)

2015-04-13 18:43 by l4y, 377 阅读, 收藏, 编辑
摘要: The NSRunLoop class declares the programmatic interface to objects that manage input sources. An NSRunLoop object processes input for sources such as 阅读全文

定位

2015-04-11 19:54 by l4y, 1 阅读, 收藏, 编辑
该文被密码保护。 阅读全文

【iOS 】把一些不太重要的任务放在空时执行

2015-04-06 15:22 by l4y, 209 阅读, 收藏, 编辑
摘要: -(void)idleNotificationMethod{ }-(void)registerForIdleNotification{ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(id... 阅读全文