0%

UICollectionView 在项目中是出现很高频的一个空间,它能灵活的展现各种布局。平时,我们常用的水平、垂直及网格的效果基本上都可以使用系统提供的给我们的 Layout 进行完成,最近刚好做了一个自定义布局的需求,这里将过程稍作记录,后面也提及了一些 DragAndDrop 的简单使用。

  • 准备知识
  • Basic Layout
  • Custom Layout
  • Drag And Drop
Read more »

在开发中,我们经常需要根据设备型号的不同来进行数据统计或者是适配。但是,系统并没有提供API让我们直接获取当前设备的型号。

不过,每一种苹果的设备都有自己的标识符,我们只需要根据其标识符就可以判断当前设备的具体类型了。

  • 获取设备标识符
  • 定义设备类型
  • 获取设备类型
  • 设备尺寸
Read more »

项目中之前已经做了国际化,但是之前只有中文及英文,直接是根据系统的语言来切换的,现在为项目中加入内部切换语言的功能。

  • 国际化简述
  • 内部切换语言
Read more »

作为在互联网领域工作的程序员啊,我们需要不断地学习。自己也坚持每天刷一两个 LeetCode 题目,在刷题的过程中,发现有不少题目都涉及到一些位运算的知识,这篇文章记录一下。

  • 介绍
  • 运算
    • 按位与(&)
    • 按位或(|)
    • 按位异或(^)
    • 左移(<<)
    • 右移(>>)
    • 取反(~)
Read more »

动态切换 App 的 icon 这个需求,在上一家公司做一款定制 App 时遇到过一次,这次领导说可能需要做,就又做了一次。虽然不是什么很难的知识点,这里也就记录一下自己做的过程吧。

  • info.plist 文件编辑
  • 更换 Icon
  • 静默切换
Read more »

项目中一直使用着 RxSwift,现在也只是停留在使用的阶段,最近利用闲暇的时间拜读了一下 RxSwift 的源码。

介绍

RxSwift 是一个可以帮助我们简化异步编程的框架,它是 ReactiveX(简写:Rx) 的 Swift 版本。
RxSwift 拓展了观察者模式,它能帮你自由组合多个异步事件,而不需要去关心线程,同步,线程安全,并发数据以及I/O阻塞。

RxSwift 属于函数响应式编程。它是通过构建函数操作数据序列,然后对这些序列做出响应的编程方式。它结合了函数式编程以及响应式编程。

Read more »

项目最近在调研是否需要为项目添加一个 Widget。这篇文章记录下自己学习 Widget 的过程。

  • 创建 Widget
  • 与主 App 的交互
    • 数据共享
Read more »

之前在使用 Kingfisher、RxSwift 的时候,一直对 .rx 及 .kf 的实现比较疑惑,不知道其实现原理。

这篇文章我们就来打造一个专属自己的命名空间。

Read more »

在开发中,无论我们使用 Push 还是 Present 推出新的 ViewController 时,系统为了提高用户体验都会为我们默认加上一些过渡动画。但是,系统默认的动画总是不能满足大家各种各样的需求的,所以系统也为我们提供了在不同场景下自定义过渡动画以及通过手势控制过渡进度的实现方案。

这篇文章记录了自定义转场动画中的几种情况:

  • 模态跳转(Present)
  • 导航控制器跳转(Push)
  • UITabbarController
  • 三方框架——Lottie
Read more »