|
@@ -25,6 +25,9 @@ import JXSegmentedView
|
|
|
|
|
|
open class KSMediaPickerController: UIViewController, UICollectionViewDelegate, UICollectionViewDataSource {
|
|
|
|
|
|
+ typealias DismissClosure = () -> Void
|
|
|
+ var dismissClosure: DismissClosure?
|
|
|
+
|
|
|
@objc public enum mediaType : Int {
|
|
|
case all = 0
|
|
|
case picture = 1
|
|
@@ -150,7 +153,9 @@ open class KSMediaPickerController: UIViewController, UICollectionViewDelegate,
|
|
|
}
|
|
|
|
|
|
@objc private func _didClick(closeButton: UIButton?) {
|
|
|
- self.dismiss(animated: true, completion: nil)
|
|
|
+ if let dismissClosure = self.dismissClosure {
|
|
|
+ dismissClosure()
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
@objc private func _didClick(nextButton: UIButton) {
|
|
@@ -428,7 +433,7 @@ extension KSMediaPickerController {
|
|
|
completionHandler(type)
|
|
|
break
|
|
|
case .denied:
|
|
|
- authorityAlert(controller: controller, name: "IMAGE_PICKER_PHOTOS".ks_mediaPickerKeyToLocalized, cancelHandler: cancelHandler)
|
|
|
+ authorityAlert(controller: controller, name: "照片", cancelHandler: cancelHandler)
|
|
|
break
|
|
|
default:
|
|
|
break
|
|
@@ -446,7 +451,7 @@ extension KSMediaPickerController {
|
|
|
if granted {
|
|
|
completionHandler(type)
|
|
|
} else {
|
|
|
- authorityAlert(controller: controller, name: "IMAGE_PICKER_CAMERA".ks_mediaPickerKeyToLocalized, cancelHandler: cancelHandler)
|
|
|
+ authorityAlert(controller: controller, name: "照相机", cancelHandler: cancelHandler)
|
|
|
}
|
|
|
}
|
|
|
let mediaType = AVMediaType.video
|
|
@@ -465,10 +470,10 @@ extension KSMediaPickerController {
|
|
|
open class func authorityAlert(controller: UIViewController, name: String, cancelHandler: ((UIAlertAction) -> Void)?) {
|
|
|
let bundle = Bundle.main
|
|
|
let appName = NSLocalizedString("CFBundleDisplayName", tableName: "InfoPlist", bundle: bundle, comment: "")
|
|
|
- let title = String(format: "IMAGE_PICKER_NONAUTHORITY_TITLE_FORMAT".ks_mediaPickerKeyToLocalized(in: bundle), name)
|
|
|
- let message = String(format: "IMAGE_PICKER_NONAUTHORITY_TIP_FORMAT".ks_mediaPickerKeyToLocalized(in: bundle), appName, name)
|
|
|
+ let title = "没有打开“\(appName)”访问权限"
|
|
|
+ let message = "请进入“设置”-“\(appName)”打开\(appName)开关"
|
|
|
let alert = UIAlertController(title: title, message: message, preferredStyle: .alert)
|
|
|
- let go = UIAlertAction(title: "IMAGE_PICKER_NONAUTHORITY_GO_SETTING".ks_mediaPickerKeyToLocalized(in: bundle), style: .default) { (action) in
|
|
|
+ let go = UIAlertAction(title: "去设置", style: .default) { (action) in
|
|
|
let application = UIApplication.shared
|
|
|
let url = URL(string: UIApplication.openSettingsURLString)!
|
|
|
if application.canOpenURL(url) {
|
|
@@ -483,7 +488,7 @@ extension KSMediaPickerController {
|
|
|
}
|
|
|
}
|
|
|
alert.addAction(go)
|
|
|
- let cancel = UIAlertAction(title: "CANCEL".ks_mediaPickerKeyToLocalized(in: bundle), style: .cancel, handler: cancelHandler)
|
|
|
+ let cancel = UIAlertAction(title: "取消", style: .cancel, handler: cancelHandler)
|
|
|
alert.addAction(cancel)
|
|
|
controller.present(alert, animated: true, completion: nil)
|
|
|
}
|
|
@@ -493,7 +498,7 @@ extension KSMediaPickerController {
|
|
|
if granted {
|
|
|
completionHandler()
|
|
|
} else {
|
|
|
- authorityAlert(controller: controller, name: "IMAGE_PICKER_MICROPHONE".ks_mediaPickerKeyToLocalized, cancelHandler: cancelHandler)
|
|
|
+ authorityAlert(controller: controller, name: "麦克风", cancelHandler: cancelHandler)
|
|
|
}
|
|
|
}
|
|
|
let mediaType = AVMediaType.audio
|