使用 NoticeBoard 迅捷而优雅地发布通知

Android 有原生的 SnackBar ,iOS 没有与之相似的原生控件,GitHub 上好像也没有找到特别好用的开源库。

既然在 Android 平台上能够作为原生控件存在,足以说明这种需求不算太不小众,在 iOS 端,类似的需求可能被 UIAlertController、MBProgressHUD 来替代,但是他们都需要打断用户当前正在进行的事情,体验很不好。GitHub 上有一个开源库 NoticeBar ,模仿 QQ的实现效果 ,虽然有200+的Star,个人感觉 UI 和可定制性都不够理想,于是自己写了一个模仿系统原生通知样式的易于定制的 NoticeBoard,下面请看截图和演示效果:

Runtime 简单应用:AXKit手势分类实现原理

手势的应用场景很多,如果你觉得系统给我们提供的方法使用起来并不那么方便,那么本文可能对你有帮助,因为我用block对其进行了封装。

应用场景

  • 场景1:为了调试某个功能,快速给一个视图添加手势,要求轻触的时候执行某段代码。
  • 场景2:tabbar按钮双击刷新列表,要求双击的速度在一秒内,执行某段代码。
  • 场景3:给某个图片添加捏合手势以及旋转手势。
  • ……

从 UIImageView 指定点取色

开发中有时候会遇到这样的需求,要给用户一个取色板,让用户从中自由地选取颜色,用来改变主题或者控制灯具的颜色等。这时候我们就需要获取一个视图的指定坐标的颜色值。

使用场景

有时候我们可能会需要一个取色器,例如我的蓝牙灯项目,让用户从一个取色器中随意取色:

iOS 链式封装,更优雅地存取沙盒文件

假如你需要把一个字典或者别的什么东西保存到沙盒里,你准备怎么做?也许你已经条件反射的想到了操作步骤……其实,你可以不必每次都那么老老实实的把每一步写出来,一行代码就可以了:

1
@"文件名".cachePath.save(要保存的内容);

本质上就是把沙盒文件操作简化为:【路径+保存文件】两个关键点,组成一条链式语法。