MMActionSheet 2.0.0

MMActionSheet 2.0.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2021年9月
SPM支持 SPM

MinMao 维护。



  • gyh

Building Language CocoaPods compatible Platform License: MIT

简介

MMActionSheet 是一个简单的弹出选择框,使用纯 Swift 编写,类似于微信的 ActionSheet

MMActionSheet 是使用纯 Swift 编写的简单弹出选择框,类似于微信的 ActionSheet

要求

  • iOS 8.0+
  • swift 4.0+

安装

Swift 包管理器

要使用 Swift 包管理器安装,请将此软件包添加到项目中的 'Swift 软件包' 部分。或者将以下行添加到您的 Package.swift

 .package(url: "https://github.com/MinMao-Hub/MMActionSheet.git", from: "2.0")

使用Cocoapods安装

  • 要使用Cocoapods安装MMActionSheet,将其集成到现有的Podfile中或创建一个新的Podfile

     platform :ios, '8.0'
     use_frameworks!
     
     target 'MyApp' do
       pod 'MMActionSheet', '~> 2.0'
     end
    
  • 执行以下命令:

    • pod repo update master
    • pod install
  • 在您的代码中导入MMActionSheet

    • import MMActionSheet

手动导入

只需克隆并将组件目录添加到您的项目中。

示例

desc preview
包含取消按钮和标题
【有标题和取消按钮】
取消按钮但没有标题
【无标题有取消按钮】
没有取消按钮和没有标题
【无标题无取消按钮】
标题但没有取消按钮
【有标题无取消按钮】
自定义文本颜色
【自定义文本颜色】
自定义标题背景颜色等
【自定义背景色、选中背景色等】
多数据滚动
【多数据滚动】
设置顶部圆角
【设置顶部圆角】

使用说明

let buttons = [
	MMButtonItem(title: "拍照", titleColor: .default, buttonType: .default(index: 0)),
	MMButtonItem(title: "相册", titleColor: .default, buttonType: .default(index: 1)),
]

let titleItem = MMTitleItem(title: "请选择照片", titleColor: .red)
let cancelButton = MMButtonItem(title: "取消", titleColor: .default, buttonType: .cancel)

let mmActionSheet = MMActionSheet(title: titleItem, buttons: buttons, duration: nil, cancelButton: cancelButton)
mmActionSheet.selectionClosure = { item in
    if let currentItem = item, let type = currentItem.buttonType {
        switch type {
        case let .default(index):
            print("== default index \(index) ==")
        case .cancel:
            print("cancel")
        }
    }
}
mmActionSheet.present()

PS:注释

  • create actionsheet && init 【创建并初始化】

MMActionSheet(title: titleItem, buttons: buttons, duration: nil, cancelButton: cancelButton)

  • argument【参数描述】

    • title 头部标题,类型为 MMTitleItem

    • buttons 事件按钮数组,类型为Array<MMButtonItem>,其中包含每个按钮的具体属性:

       public var title: String?
       public var titleColor: MMButtonTitleColor? = .default
       public var titleFont: UIFont? = .systemFont(ofSize: 16.0)
       public var buttonType: MMButtonType?
       public var backgroudImageColorNormal: MMButtonTitleColor? = .custom(MMTools.DefaultColor.normalColor)
       public var backgroudImageColorHighlight: MMButtonTitleColor? = .custom(MMTools.DefaultColor.highlightColor)
      
      • title 按钮标题
      • titleColor 按钮颜色
      • titleFont 按钮字体
      • type 按钮类型(显示不同的标题颜色)【枚举类型 - default,blue,danger, custom
      • backgroudImageColorNormal 正常背景色
      • backgroudImageColorHighlight 选中背景色
    • duration 动画时长

    • cancelBtn 取消按钮属性,属性与上述buttons内部button属性一致;若设置为nil则不显示该按钮

  • callback【回调】

mmActionSheet.selectionClosure = { item in
	if let currentItem = item, let type = currentItem.buttonType {
        switch type {
        case let .default(index):
            print("== default index \(index) ==")
        case .cancel:
            print("cancel")
        }
    }
}

item 该handler即为buttons里面的MMButtonItem,对应的回调过来

  • present【弹出actionsheet】

mmActionSheet.present()

贡献

欢迎您进行分支 riêng buildersubmit 请求

许可

MMActionSheet是开源软件,许可协议为MIT许可证。