Я хочу сделать функцию в классе NSObject
для UIAlertCotroller
. Так что я могу получить доступ к этой функции в любом классе. Я пытался с этим следующим кодом:Как сделать глобальную функцию для UIAlertController (ActionSheet) для доступа во многих классах проекта
open class func showActionSheet(_ delegate: UIViewController, message: String, strtittle: String, handler: ((UIAlertController) -> Void)! = nil)
{
let actionSheetController: UIAlertController = UIAlertController(title: strtittle, message: message, preferredStyle: UIAlertControllerStyle.actionSheet)
if handler == nil{
actionSheetController.addAction(UIAlertAction(title: "Default(Off)" , style: .default , handler:{ (UIAlertAction)in
}))
}
else{
actionSheetController.addAction(UIAlertAction(title: "Default(Off)" , style: .default , handler:{ (UIAlertAction)in
}))
}
delegate.present(actionSheetController, animated: true, completion: {
print("completion block")
})
}
Это функция, которую я сделал, но проблема в том, может быть количестве акций в ActionSheet, и они также имеют различный Tittle и различные стили.
Вопрос: Как это сделать? Пожалуйста помоги.
Спасибо!
Вы можете попробовать это http://stackoverflow.com/questions/41588882/swift-how-to-present-viewcontroller-when-tapping-button-in-a-custom-alertcontr/41589066#41589066 –
Спасибо за это, я думаю, что это только для AlertController (Alert type). Я ищу AlertController (лист действий). – Amanpreet
Вам просто нужно изменить это, вот почему я пишу, вы можете попробовать так. Также вы можете добавить один параметр массива строк для названия действия. –