SPAlertController:风格近似微信原生的提醒对话框
SPAlertController是一个提醒对话框项目,其风格与微信原生几乎零误差。它在GitHub开源,具有众多功能特性,如采用VFL布局,3.0版本起以UIStackView为核心控件。在适配方面全面适...
标签:Github项目SPAlertController UIStackView VFL布局 微信原生风格 提醒对话框 适配深色模式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是一个功能丰富、在提醒对话框方面表现出色且不断更新优化的项目。它在布局、适配、动画和自定义等多方面都有很好的实现。如果你对这个项目有任何想法或者建议,欢迎在下方留言参与讨论。
项目地址
数据统计
数据评估
本站链氪巴士提供的SPAlertController:风格近似微信原生的提醒对话框都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由链氪巴士实际控制,在2024年12月6日 上午12:00收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,链氪巴士不承担任何责任。
相关导航
NiceVieoPlayer是一个Android视频播放器项目,它基于IjkPlayer/MediaPlayer+TextureView进行封装。支持本地和网络视频播放,能在IjkPlayer和MediaPlayer之间切换,完美实现小窗口与全屏切换,在RecyclerView中也可无缝全屏切换。支持手势操作调节进度、亮度、声音,可切换清晰度,还能自定义控制界面。使用时在AndroidStudio或Gradle中添加依赖,在Activity和Fragment中有特定的使用逻辑,包括释放播放器、处理返回键等操作,在RecyclerView中使用时要监听视图回收释放播放器,对于Home键操作也有相应处理方式。