При нажатии кнопки + в центре нижней части Instagram с помощью мобильный браузер вызывается не-HTML-меню, как показано на рисунке ниже:
Кто-нибудь знает, как вызвать это? Я предполагаю, что это особенность мобильного пользовательского агента, но мне нужен утвердительный ответ, а также то, как она называется.
Это UIAlertController для нативной iOS. найти код ниже для справки.
@IBAction func showActionSheet(_ sender: Any) {
let alertController = UIAlertController(title: "Title", message: "Delete option exists", preferredStyle: .actionSheet)
let cancelAction = UIAlertAction(title: "Cancel", style: .cancel, handler: { (alert: UIAlertAction!) -> Void in
print("Cancel")
})
let noAction = UIAlertAction(title: "No", style: .default, handler: { (alert: UIAlertAction!) -> Void in
print("No")
})
let maybeAction = UIAlertAction(title: "Maybe", style: .default, handler: { (alert: UIAlertAction!) -> Void in
print("Maybe")
})
alertController.addAction(cancelAction)
alertController.addAction(noAction)
alertController.addAction(maybeAction)
self.present(alertController, animated: true, completion: nil)
}
для родного андроида идите на BottomSheetDialog
И если вы хотите добиться этой функциональности в браузере iOS Safari для своего веб-сайта, то простой тип ввода файла сделает это.
Большое спасибо за ваш ответ.
Вы создаете это с помощью HTML <form>, который содержит поле input типа file:
<input type = "file" accept = "image/*">
Мобильный веб-браузер отобразит это как лист действий. Например. в iOS:
Настольный веб-браузер будет отображать это как диалоговое окно файла (опять же, не веб-форма, а собственное диалоговое окно ОС).
Очевидно, не стесняйтесь настраивать внешний вид кнопки загрузки по своему усмотрению, например. https://stackoverflow.com/a/6461518/1271826.
Спасибо за ваш ответ, это спасло мой день.
FWIW, я не думаю, что этот вопрос слишком широк. Это очень специфично. Это всего лишь один из тех редких случаев, когда сложно сформулировать вопрос, потому что ОП спрашивает, как добиться какого-то очень конкретного пользовательского интерфейса. Но трудно представить, как этот вопрос мог бы быть более ясным.