请选择 进入手机版 | 继续访问电脑版

技术控

    今日:36| 主题:54646
收藏本版 (1)
最新软件应用技术尽在掌握

[其他] [iOS] A Simple And Minimalist iOS AlertController

[复制链接]
留年刺痛了谁 发表于 2016-11-28 16:52:33
195 5

立即注册CoLaBug.com会员,免费获得投稿人的专业资料,享用更多功能,玩转个人品牌!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
HYAlertController

   HYAlertController是一款极简形式的Alert控件,包含多种使用场景,并且拥有和Apple的 UIAlertController 一样的语法,所以您可以轻松地在您自己的app中使用它。
  Alert Style

   

[iOS] A Simple And Minimalist iOS AlertController

[iOS] A Simple And Minimalist iOS AlertController-1-技术控-管理工具,上海,女孩,皮肤

[iOS] A Simple And Minimalist iOS AlertController

[iOS] A Simple And Minimalist iOS AlertController-2-技术控-管理工具,上海,女孩,皮肤

  Sheet Style

   

[iOS] A Simple And Minimalist iOS AlertController

[iOS] A Simple And Minimalist iOS AlertController-3-技术控-管理工具,上海,女孩,皮肤

[iOS] A Simple And Minimalist iOS AlertController

[iOS] A Simple And Minimalist iOS AlertController-4-技术控-管理工具,上海,女孩,皮肤

  Share Style

   

[iOS] A Simple And Minimalist iOS AlertController

[iOS] A Simple And Minimalist iOS AlertController-5-技术控-管理工具,上海,女孩,皮肤

  特性

  
       
  •   标题   
  •   介绍信息(自适应高度)   
  •   按钮可以带icon显示   
  •   自带取消按钮   
  •   新增分享风格   
  •   点击事件采用闭包语法回调   
  •   与UIAlertController相同的语法实现   
  •   支持Swift 3   
  •   Cocoapods   
  •   Carthage(暂不支持)  
  要求

  
       
  • Swift 3   
  • iOS 10.0+   
  • Xcode 8+  
  CocoaPods

   CocoaPods 是iOS最常用的依赖管理工具,您可以用下面的命令安装它:
  1. $ gem install cocoapods
复制代码
  然后在项目根目录创建 Podfile 文件,写入下面内容:
  1. source 'https://github.com/CocoaPods/Specs.git'
  2. platform :ios, '10.0'
  3. use_frameworks!
  4. pod 'HYAlertController'
复制代码
最后,命令行运行下面命令即可完成安装:
  1. $ pod install
复制代码
  注意: HYAlertController 会依赖安装 SnapKit 库, HYAlertController 所有的自动布局都采用 SnapKit 完成,如果您的项目中也使用到了 SnapKit ,请避免依赖重复。
  手动安装

  
       
  • 下载该项目文件,将 /HYAlertController 文件夹拖到您的项目中去;   
  • 如果您的项目中没有使用 SnapKit ,您还需要安装 SnapKit ,版本是3.0.0+;  
   注意:推荐您使用Cocoapods方式安装,这样可以避免繁琐的依赖问题,但是如果您是手动安装的话,一定要保证您的 SnapKit 版本高于3.0.0。
  用法

   用法类似于 UIAlertController ,不过 HYAlertController 提供了三种风格: Alert、Sheet和Share。
   Alert Style:拥有这种风格,您可以居中显示内容,作为提醒用户操作所用的对话框;
   Sheet Style:拥有这种风格,您可以在屏幕下方显示内容,和微信、微博等的风格类似,下面会弹出一个对话框,供用户选择;
   Share Style:与 Sheet Style 类似,也是下面弹出一个对话框,所不同的是,这种样式可用于分享所用,您可以快速地完成主流分享样式的创建。
  Alert Style

  1. //Work with Swift 3
  2. let alertVC: HYAlertController = HYAlertController (title: "Title", message: "Here you can describe the details of its title, and you can write here what you want to express.", style: .alert)
  3. let oneAction: HYAlertAction = HYAlertAction (title: "One Action", style: .normal, handler:  { (action) in
  4.     print(action.title)
  5. })
  6. let twoAction: HYAlertAction = HYAlertAction (title: "Two Action", style: .normal, handler:  { (action) in
  7.     print(action.title)
  8. })
  9. let threeAction: HYAlertAction = HYAlertAction (title: "Three Action", style: .destructive, handler:  { (action) in
  10.     print(action.title)
  11. })
  12. let cancelAction: HYAlertAction = HYAlertAction (title: "Cancel Action", style: .cancel, handler:  { (action) in
  13.     print(action.title)
  14. })
  15. alertVC.addAction(action: oneAction)
  16. alertVC.addAction(action: twoAction)
  17. alertVC.addAction(action: threeAction)
  18. alertVC.addAction(action: cancelAction)
  19. self.present(alertVC, animated: true, completion: nil)
复制代码
Sheet Style

  1. //Work with Swift 3
  2. let alertVC: HYAlertController = HYAlertController (title: "Title", message: "Here you can describe the details of its title, and you can write here what you want to express.", style: .actionSheet)
  3. let oneAction: HYAlertAction = HYAlertAction (title: "One Action", style: .normal, handler:  { (action) in
  4.     print(action.title)
  5. })
  6. let twoAction: HYAlertAction = HYAlertAction (title: "Two Action", style: .normal, handler:  { (action) in
  7.     print(action.title)
  8. })
  9. let threeAction: HYAlertAction = HYAlertAction (title: "Three Action", style: .destructive, handler:  { (action) in
  10.     print(action.title)
  11. })
  12. let cancelAction: HYAlertAction = HYAlertAction (title: "Cancel Action", style: .cancel, handler:  { (action) in
  13.     print(action.title)
  14. })
  15. alertVC.addAction(action: oneAction)
  16. alertVC.addAction(action: twoAction)
  17. alertVC.addAction(action: threeAction)
  18. alertVC.addAction(action: cancelAction)
  19. self.present(alertVC, animated: true, completion: nil)
复制代码
Share Style

  1. //Work with Swift 3
  2. let alertVC: HYAlertController = HYAlertController (title: nil, message: nil, style: .shareSheet)
  3. let oneAction: HYAlertAction = HYAlertAction (title: "Facebook", image: UIImage (named: "facebook")!, style: .normal, handler: {
  4.             (action) in
  5.     print(action.title)
  6. })
  7. let twoAction: HYAlertAction = HYAlertAction (title: "Twitter", image: UIImage (named: "twitter")!, style: .normal, handler: {
  8.             (action) in
  9.     print(action.title)
  10. })
  11. let threeAction: HYAlertAction = HYAlertAction (title: "Snapchat", image: UIImage (named: "snapchat")!, style: .normal, handler: {
  12.             (action) in
  13.     print(action.title)
  14. })
  15. let fourAction: HYAlertAction = HYAlertAction (title: "Instagram", image: UIImage (named: "instagram")!, style: .normal, handler: {
  16.             (action) in
  17.     print(action.title)
  18. })
  19. let fiveAction: HYAlertAction = HYAlertAction (title: "Pinterest", image: UIImage (named: "pinterest")!, style: .normal, handler: {
  20.             (action) in
  21.     print(action.title)
  22. })
  23. let sixAction: HYAlertAction = HYAlertAction (title: "Line", image: UIImage (named: "line")!, style: .normal, handler: {
  24.             (action) in
  25.     print(action.title)
  26. })
  27. alertVC.addShareActions(actions: [oneAction, twoAction, threeAction, fourAction, fiveAction, sixAction])
  28. self.present(alertVC, animated: true, completion: nil)
复制代码
  查看更多使用场景,请参考 HYAlertControllerDemo 里详细介绍。
  Swift版本要求

   HYAlertController 采用Swift 3开发完成,所以您的Swift版本必须是Swift 3。
  自定义

   HYAlertController 本身外部并没有提供自定义选择,这和开发者的想法有关,如果您想做一些基本的改变,请下载项目源码,修改  HY_Constants.swift  文件,这里包含了一些基本的设置常量,修改这里即可完成自定义。
  修改完成之后,可以参照上述手动安装方法将改造后的类库集成到项目中。
  交流

  
       
  • 如果您遇到问题或者是需要帮助,可以创建issue,我会第一时间为您解答;   
  • 如果您需要一些优化,可以创建issue讨论;   
  • 如果您想提交贡献,请发布一个pull request.  
  MIT License

  HYAlertController is available under the MIT license. See the LICENSE file for more info.



上一篇:JS魔法堂:深究JS异步编程模型
下一篇:Node 性能优化
江熙睿 发表于 2016-11-28 19:45:51
楼主已成仙,有事请求签!
回复 支持 反对

使用道具 举报

寇云星 发表于 2016-11-29 04:40:49
回复不是我的目的!
回复 支持 反对

使用道具 举报

乄魂断`灬.蓝桥 发表于 2016-11-29 12:24:29
一天最高可刷99点经验的。把如下语句复制,粘帖即可。以前不懂看贴总是不回,一直没提升等级和增加经验现在我明白了反正回贴可以升级也可以赚经验而升级又需要经验我就把这句话复制下来
回复 支持 反对

使用道具 举报

卉怀 发表于 2016-12-2 13:06:57
视死如归的架势啊!
回复 支持 反对

使用道具 举报

女圭女圭音せ 发表于 2016-12-23 15:35:20
谁能明白谁的深爱,谁又能理解谁的离开...
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

我要投稿

推荐阅读


回页顶回复上一篇下一篇回列表
手机版/CoLaBug.com ( 粤ICP备05003221号 | 文网文[2010]257号 )

© 2001-2017 Comsenz Inc. Design: Dean. DiscuzFans.

返回顶部 返回列表