В моем приложении есть список спортивных мероприятий. Я хочу, чтобы пользователь мог перейти к ближайшему предстоящему событию с помощью быстрого действия. При этом я перехожу на главную страницу.
enum QuickAction: String {
case firstView = "com.myappname.event-watcher1.firstItem"
case secondView = "SecondView"
}
enum QA: Equatable {
case firstView
case secondView
init?(shortcutItem: UIApplicationShortcutItem) {
guard let action = QuickAction(rawValue: shortcutItem.type) else {
return nil
}
switch action {
case .firstView:
self = .firstView
case .secondView:
self = .secondView
}
}
}
class QAService: ObservableObject {
static let shared = QAService()
@Published var action: QA?
}
AppDelegate.
class AppDelegate: NSObject, UIApplicationDelegate {
private let qaService = QAService.shared
func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration {
if let shortcutItem = options.shortcutItem {
qaService.action = QA(shortcutItem: shortcutItem)
}
let configuration = UISceneConfiguration(name: connectingSceneSession.configuration.name, sessionRole: connectingSceneSession.role)
configuration.delegateClass = SceneDelegate.self
return configuration
}
}
AppName_App.swift
@main
struct Event_WatchApp: App {
private let qaService = QAService.shared
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
init() {
}
var body: some Scene {
WindowGroup {
ContentView()
.environmentObject(qaService)
}
}
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... w-of-the-f
Быстрые действия на главном экране SwiftUI: попытка перейти к DetailView первого элемента списка с помощью быстрого дейс ⇐ IOS
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Виджет WidgetKit SwiftUI не отображает контент должным образом на главном экране
Anonymous » » в форуме IOS - 0 Ответы
- 108 Просмотры
-
Последнее сообщение Anonymous
-