github
CLDialog IOS 彈框組件
要求
- iOS 8.0+
- swift 3.0+
主要功能:
- 類似ios系統(tǒng)彈框霎挟,支持標題+內(nèi)容+按鈕
- 展示圖片的彈框
- 可輸入文本的彈框粮坞。文本框支持設置最大長度磕秤、支持自定義正則表達式凝危、自動換行等精居。
- 支持橫豎屏
更新日志
-版本號 1.0.0:項目初始化
使用方式
pod 'CLDialog'
CLDialog的使用
目前提供3種類型的彈框
1.普通彈框,調(diào)用cl_show方法
CLDialog.cl_show(title: "溫馨提示", msg: "確定要取消?", leftActionTitle: "確定", rightActionTitle: "取消", leftHandler: {
}) {
}
2.帶有圖片顯示的彈框耳幢,調(diào)用cl_showImg方法
CLDialog.cl_showImg(success: true, msg: "提交成功", leftActionTitle: "知道了", rightActionTitle: nil, leftHandler: nil, rightHandler: nil)
3.帶有輸入文本框的彈框,調(diào)用cl_showInput方法
CLDialog.cl_showInput(msg: "請輸入取消原因", leftActionTitle: "取消", rightActionTitle: "確定", leftHandler: { (text) in
print(text)
}) { (text) in
print(text)
}
詳細使用介紹
1.普通彈框欧啤,可擴展屬性介紹
在默認情況下睛藻,普通彈框的左邊按鈕顏色是灰色的,右邊是黑色的邢隧,文本居中顯示店印,默認有動畫。
提供如下可擴展屬性倒慧,可設置文本的對齊方式按摘,主題色,自定義動畫纫谅,具體參考示例代碼炫贤。
/// 內(nèi)容的對齊方式
public var textAlignment = NSTextAlignment.center
/// 設置主題色,2個按鈕時只設置右邊的主題色付秕,1個按鈕時顯示主題色
public var mainColor = UIColor.black
/// 是否支持動畫
public var supportAnimate = true
/// 自定義動畫
public var animate = CABasicAnimation()
- 針對上面屬性的使用兰珍,下面列舉幾種常見的案例來詳細說明
1) 場景1:全局設置CLDialog的相關屬性
再Appdelegate中:
CLDialogManager.share.mainColor = UIColor.red
2)場景1:全局設置CLDialog的主題色為紅色,但是在某個頁面需要設置CLDialog的主題色為藍色询吴。
首先再Appdelegate中:
CLDialogManager.share.mainColor = UIColor.red
在需要設置藍色的地方,記得重置主題色
CLDialogManager.share.mainColor = UIColor.blue
CLDialog.cl_show(title: "溫馨提示", msg: "確定要取消掠河?", leftActionTitle: "確定", rightActionTitle: "取消", leftHandler: {
print("點擊了左邊")
CLDialogManager.share.mainColor = UIColor.red
}) {
print("點擊了右邊")
CLDialogManager.share.mainColor = UIColor.red
}
3)自定義彈框動畫
let shakeAnimation = CABasicAnimation.init(keyPath: "position")
shakeAnimation.duration = 0.2
shakeAnimation.fromValue = NSValue.init(cgPoint: CGPoint.init(x: KScreenWidth*0.5, y: 0))
shakeAnimation.toValue = NSValue.init(cgPoint: CGPoint.init(x: KScreenWidth*0.5, y: KScreenHeight*0.5))
shakeAnimation.autoreverses = false
CLDialogManager.share.animate = shakeAnimation
CLDialog.cl_show(title: "溫馨提示", msg: "自定義動畫", leftActionTitle: "取消", rightActionTitle: "確定", leftHandler: {
}) {
2.帶有圖片的彈框亮元,可擴展屬性介紹
帶有圖片的彈框的可擴展屬性擁有上面普通彈框的所有屬性,額外還支持更換圖片
public var successImage = UIImage(named: "ic_toast_success", in: BundleUtil.getCurrentBundle(), compatibleWith: nil)
public var failImage = UIImage(named: "icon_sign", in: BundleUtil.getCurrentBundle(), compatibleWith: nil)
3.帶有輸入文本框的彈框唠摹,支持普通彈框的所有屬性外爆捞,還支持以下功能
/// 最多允許輸入多少個字符
public var maxLength: Int?
/// 只允許輸入數(shù)字和小數(shù)點
public var onlyNumberAndPoint: Bool?
/// 設置小數(shù)點位數(shù)
var pointLength: Int?
/// 只允許輸入數(shù)字
public var onlyNumber: Bool?
/// 禁止輸入表情符號emoji
public var allowEmoji: Bool?
/// 正則表達式
var predicateString: String?
使用注意
1.由于CLDialogManager 是一個單例對象,當設置相應的屬性后勾拉,那整個項目的Dialog就會保持這個屬性值煮甥。如果項目Dialog較為統(tǒng)一,那么只要在appdelegate中設置一次即可藕赞,如果只是想偶爾改變一次Dialog的屬性值苛秕,那么再改變之后,記得重新賦值一下相關的屬性找默。
截圖
[圖片上傳失敗...(image-82b178-1537498115559)]
[圖片上傳失敗...(image-a52fc9-1537498115559)]
[圖片上傳失敗...(image-912a83-1537498115559)]
[圖片上傳失敗...(image-fdb2e0-1537498115559)]