快速实现 iOS 全局黑白主题
近期很多 app 都使用了黑白主题悼念领导人离世. 缅怀的同时, 作为技术人我实现的技术方案也很感兴趣, 网上搜索了下, 目前无外乎有如下方案:
- 统一根据后台接口返回信息对
UIImage
UIColor
做统一处理 - 在 window 上加一层黑白滤镜, 该 window 上面的所有 UI 元素都会被应用次滤镜
近期很多 app 都使用了黑白主题悼念领导人离世. 缅怀的同时, 作为技术人我实现的技术方案也很感兴趣, 网上搜索了下, 目前无外乎有如下方案:
UIImage
UIColor
做统一处理运行下面的一段 Swift 代码会发生什么?
let total = "hello"
let sub = "he"
if let ran = total.range(of: sub) {
let range = NSRange(ran, in: "")
print(range)
}
答案是不确定, 这与运行时的 iOS 版本和打包的 Xcode 版本都有关系.
证书管理是 Apple 开发从业人员绕不过去的一个话题, 很多极有经验的老鸟也会此栽跟头.
前两天我司在证书迭代的过程中就被证书校验坑了一天, 经过与资深 iOS 开发工程师 铁柱 & 言若 的不断踩坑, 不断分析, 最终对证书验证的理解又上了一个层次, 这篇文章把踩坑过程中的一些点记录下来, 以示后人.
如何让 UITableView 的 cell 高度动态变化且有动画效果呢?
做过 iOS 开发的人都知道, iOS 的 UITableView 的 Cell 需要复用, 复用的时候有两种方法可以调用
dequeueReusableCell(withIdentifier:)
][4]dequeueReusableCell(withIdentifier:for:)
][5]那么他们到底有什么区别?
如果你经常困惑 iOS 开发中的静态库和动态库的作用与区别, 那么这篇文章可以为你解惑
如题, 虽然用了很多很多次 UIScrollView, 知道它有一些滑动代理回调方法, 知道它有一些滑动状态相关的属性, 但对这些方法在每一个时间点的具体状态总是不太确定, 看官方说明文档也是一头雾水. 索性这次将所有的代理方法及属性调用一遍, 然后记录下结果.
对于这种涉及到状态变化的描述, 文字似乎有些苍白无力, 于是我尝试用图表的方式来进行记录, 以期更加直观.
说说最近对于 iOS 系统黑暗主题适配(兼容iOS 13 以下版本)的方案研究.
iOS 的屏幕旋转有很多弯弯绕的地方, 旋转的成功与否取决于多个层面的共同作用.
iOS 的布局方式有
autoLayout
布局在这两种布局基础上, 我们可以使用
stroryboard
/ xib
布局
更加直观, 缺点则一大堆, 比如 view
稍多的情况下打开 storyboard
界面都会非常卡顿, 团队合作经常发生冲突需要进行协调.
纯代码进行布局.
适合团队, 条理清晰, (可能) 约束计算速度更快
因此使用纯代码布局是一劳永逸的一种方法. 其实 storyboard
/ xib
布局的原理和思想都是相同的, 无非就是对上下左右, 宽高进行约束, 当一个控件的约束足够时 则约束完成.
本文所有的讨论都基于纯代码布局, 以及代码布局库 SnapKit
.