Skip to content

Instantly share code, notes, and snippets.

@kylehowells
Created July 18, 2022 15:50
Show Gist options
  • Save kylehowells/ef02ae5bcea27a00c4f20fba5caaccef to your computer and use it in GitHub Desktop.
Save kylehowells/ef02ae5bcea27a00c4f20fba5caaccef to your computer and use it in GitHub Desktop.

Revisions

  1. kylehowells created this gist Jul 18, 2022.
    15 changes: 15 additions & 0 deletions Get First Responder.swift
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,15 @@
    import UIKit

    extension UIResponder {
    private weak static var _currentFirstResponder: UIResponder? = nil

    public static var current: UIResponder? {
    UIResponder._currentFirstResponder = nil
    UIApplication.shared.sendAction(#selector(findFirstResponder(sender:)), to: nil, from: nil, for: nil)
    return UIResponder._currentFirstResponder
    }

    @objc internal func findFirstResponder(sender: AnyObject) {
    UIResponder._currentFirstResponder = self
    }
    }