Как сделать UIActionSheet в iOS Swift? Вот мой код для кодирования UIActionSheet.
@IBAction func downloadSheet(sender: AnyObject)
{
let optionMenu = UIAlertController(title: nil, message: "Choose Option", preferredStyle: .actionSheet)
let saveAction = UIAlertAction(title: "Save", style: .default, handler:
{
(alert: UIAlertAction!) -> Void in
println("Saved")
})
let deleteAction = UIAlertAction(title: "Delete", style: .default, handler:
{
(alert: UIAlertAction!) -> Void in
println("Deleted")
})
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler:
{
(alert: UIAlertAction!) -> Void in
println("Cancelled")
})
optionMenu.addAction(deleteAction)
optionMenu.addAction(saveAction)
optionMenu.addAction(cancelAction)
self.presentViewController(optionMenu, animated: true, completion: nil)
}
Надеюсь, мой Код ясен ... Я приветствую лучшее предложение для этого кода.
ios
swift
uiactionsheet
Ю Ю Мон Вин
источник
источник
Ответы:
Ваш подход хорош, но вы можете легко добавить
UIActionSheet
другие способы.Вы можете добавить
UIActionSheetDelegate
в UIViewController` вродеУстановите метод вроде,
Вы можете получить индекс своей кнопки, когда она нажата, как
Обновление 1: для iOS8 +
источник
Обновлено для Swift 4
Работает на iOS 11
Некоторые из других ответов в порядке, но в конечном итоге я смешал и сопоставил несколько из них, чтобы получить следующее:
Наслаждайтесь :)
источник
UIActionSheet
устарела в iOS 8.Я использую следующее:
источник
Обновление для Swift 3:
источник
Обновлено для Swift 3.x, Swift 4.x, Swift 5.x
источник
Generetic Action Sheet работает для Swift 4, 4.2, 5
Если вам нравится универсальная версия, которую можно вызывать из
ViewController
любого проекта, попробуйте эту:Вызовите это в своем ViewController.
Внимание: может быть, вам интересно, почему я добавил,
Action 1/2/3
но получил такие результаты, как 0,1,2. В строкеfor (index, (title, style)) in actions.enumerated()
я получаю указатель действий. Массивы всегда начинаются с индекса 0. Таким образом, завершение - 0,1,2.Если вы хотите установить перечисление, идентификатор или другой идентификатор, я бы рекомендовал передать объект в параметре
actions
.источник
title: String?
иmessage: String?
могут быть необязательнымиЛист действий в iOS10 с Swift3.0. Перейдите по этой ссылке.
источник
Swift:
Приведенный ниже пример кода работает как на iPhone, так и на iPad.
источник
Старый способ: UIActionSheet
Новый способ: UIAlertController
источник
Swift 3 Для отображения UIAlertController из UIBarButtonItem на iPad
источник
swift4 (проверено)
источник
SWIFT 4
РАБОТАЕТ НА IPHONE И IPAD ОБЕИМ. ТАКЖЕ РАЗРЕШАЕТСЯ ВРАЩЕНИЕ
ПЕЙЗАЖ
ПОРТРЕТ
Код (проверено)
источник
Код для добавления предупреждений в таблицу действий в swift4
источник
Вы можете использовать следующий код для предупреждений и действий для swift4
источник
Полезно для заполнения списка динамических действий и прослушивания выбранного действия:
источник
Вы можете использовать следующий код для открытия таблицы действий в Swift
источник