Лист действий — это компонент, который отображает набор вариантов выбора для пользователя в модальном формате.
UIKit
В iOS вы можете создать лист действий, используя UIAlertController
со стилем .actionSheet
.
Вот пример того, как создать лист действий в Swift:
let actionSheet = UIAlertController(title: "Choose an option", message: nil, preferredStyle: .actionSheet) let option1 = UIAlertAction(title: "Option 1", style: .default) { _ in // Handle the selection of option 1 } let option2 = UIAlertAction(title: "Option 2", style: .default) { _ in // Handle the selection of option 2 } let cancel = UIAlertAction(title: "Cancel", style: .cancel) { _ in // Handle the cancellation of the action sheet } actionSheet.addAction(option1) actionSheet.addAction(option2) actionSheet.addAction(cancel) present(actionSheet, animated: true, completion: nil)
В этом примере переменная actionSheet
представляет собой переменную UIAlertController
со стилем .actionSheet
. Объекты UIAlertAction
представляют собой варианты выбора, отображаемые на листе действий, и могут быть настроены с помощью различных стилей (.default
, .cancel
, .destructive
и т. д.) и блоков обработчика для ответа на выбор пользователя.
Это отобразит приведенный выше лист действий.
SwiftUI
Чтобы представить лист в SwiftUI, следуйте приведенному ниже примеру:
import SwiftUI import PlaygroundSupport struct ContentView: View { @State private var showActionSheet = false @State private var selectedOption: String? var body: some View { Button("Show action sheet") { self.showActionSheet = true } .actionSheet(isPresented: $showActionSheet) { ActionSheet( title: Text("Choose an option"), message: Text("This is a message"), buttons: [ .default(Text("Option 1")) { self.selectedOption = "Option 1" }, .default(Text("Option 2")) { self.selectedOption = "Option 2" }, .cancel() ] ) } } } PlaygroundPage.current.setLiveView( ContentView() .frame(width: 400, height: 700, alignment: .center) )
Аналогично имеем:
Первоначально опубликовано на https://needone.app 5 января 2023 г.