简介
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许可证。