Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 6 additions & 12 deletions ios/Capacitor/Capacitor/CAPBridgeViewController.swift
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,7 @@ import Cordova
return false
}()

// TODO: Remove in Capacitor 8 after moving status bar plugin extensions code
@objc func handleViewDidAppear() {
if bridge?.config.hasInitialFocus ?? true {
self.webView?.becomeFirstResponder()
}
}

deinit {
NotificationCenter.default.removeObserver(self)
}

override public final func loadView() {
NotificationCenter.default.addObserver(self, selector: #selector(self.handleViewDidAppear), name: Notification.Name(rawValue: "CapacitorViewDidAppear"), object: nil)
// load the configuration and set the logging flag
let configDescriptor = instanceDescriptor()
let configuration = InstanceConfiguration(with: configDescriptor, isDebug: CapacitorBridge.isDevEnvironment)
Expand Down Expand Up @@ -76,11 +64,17 @@ import Cordova

override open func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
NotificationCenter.default.post(Notification(name: .capacitorViewDidAppear))
if bridge?.config.hasInitialFocus ?? true {
self.webView?.becomeFirstResponder()
}
}

override open func viewWillTransition(to size: CGSize, with coordinator: UIViewControllerTransitionCoordinator) {
super.viewWillTransition(to: size, with: coordinator)
NotificationCenter.default.post(Notification(name: .capacitorViewWillTransition))
}

override open func canPerformUnwindSegueAction(_ action: Selector, from fromViewController: UIViewController, withSender sender: Any) -> Bool {
return false
}
Expand Down
4 changes: 4 additions & 0 deletions ios/Capacitor/Capacitor/CAPNotifications.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ extension Notification.Name {
public static let capacitorDecidePolicyForNavigationAction =
Notification.Name(rawValue: "CapacitorDecidePolicyForNavigationActionNotification")
public static let capacitorStatusBarTapped = Notification.Name(rawValue: "CapacitorStatusBarTappedNotification")
public static let capacitorViewDidAppear = Notification.Name(rawValue: "CapacitorViewDidAppear")
public static let capacitorViewWillTransition = Notification.Name(rawValue: "CapacitorViewWillTransition")
}

@objc extension NSNotification {
Expand All @@ -26,6 +28,8 @@ extension Notification.Name {
public static let capacitorDidFailToRegisterForRemoteNotifications = Notification.Name.capacitorDidFailToRegisterForRemoteNotifications
public static let capacitorDecidePolicyForNavigationAction = Notification.Name.capacitorDecidePolicyForNavigationAction
public static let capacitorStatusBarTapped = Notification.Name.capacitorStatusBarTapped
public static let capacitorViewDidAppear = Notification.Name.capacitorViewDidAppear
public static let capacitorViewWillTransition = Notification.Name.capacitorViewWillTransition
}

/**
Expand Down