链氪巴士
  1. 首页
  2. 站点导航
  3. 文章
  4. 快讯
  5. 软件
  6. 书刊
  7. 关于

SPAlertController:风格近似微信原生的提醒对话框

SPAlertController是一个提醒对话框项目,其风格与微信原生几乎零误差。它在GitHub开源,具有众多功能特性,如采用VFL布局,3.0版本起以UIStackView为核心控件。在适配方面全面适配多种iPhone设备且4.0.0版本适配深色模式。创建方式多样且动画设置...

访问官网 →

SPAlertController:风格近似微信原生的提醒对话框

一、项目简介

SPAlertController是一个提醒对话框项目,它的风格和微信原生几乎零误差。该项目具有多种功能特性,例如采用VFL布局,从3.0版本开始核心控件为UIStackView,并且有诸多针对不同系统版本和需求的功能优化。它在GitHub上开源,拥有430颗星,68个分支,采用MIT license许可。

二、核心技术

  1. 布局技术:采用VFL布局,3.0版本起以UIStackView为核心控件,能够很好地实现对话框的布局效果。
  2. 适配技术:全面适配iPhoneX,iPhoneXR,iPhoneXS,iPhoneXS MAX等设备,并且在4.0.0版本适配深色模式。
  3. 动画设置:创建SPAlertController时有两种方式,第二种方式多了animationType参数可设置弹出动画,不同的preferredStyle默认动画不同,如SPAlertControllerStyleActionSheet样式默认从底部弹出,SPAlertControllerStyleAlert样式默认从中间弹出。
  4. 自定义视图:可自定义对话框的头部、整个对话框以及action部分,对于自定义视图的大小处理有一套详细的规则,包括自动布局和非自动布局下的不同处理方式。

三、实践案例

  1. CocoaPods使用示例: -在CocoaPods中使用时,在platform:ios,’9.0’的环境下,在target’MyApp’中通过pod ‘SPAlertController’,’~>4.0.0’即可引入该项目。
  2. 创建和配置示例: -创建SPAlertController示例: -如SPAlertControlleralert = [SPAlertController alertControllerWithTitle:@”我是主标题” message:@”我是副标题” preferredStyle:SPAlertControllerStyleActionSheet]; -创建SPAlertAction示例: -像SPAlertActionaction1 = [SPAlertAction actionWithTitle:@”Default” style:SPAlertActionStyleDefault handler:^(SPAlertAction _Nonnull action){}];等创建不同样式的action,并可添加到alert中,如[alert addAction:action1];。 -还有对SPAlertController的各种属性的配置,如设置主标题、副标题、标题颜色、字体、对齐方式等,以及对action的属性配置,如标题、富文本标题、图片、间距等。

四、项目总结

SPAlertController是一个功能丰富、在提醒对话框方面表现出色且不断更新优化的项目。它在布局、适配、动画和自定义等多方面都有很好的实现。如果你对这个项目有任何想法或者建议,欢迎在下方留言参与讨论。

项目地址

GitHub链接直达