secant-ios-wallet/secant/_Unmodularized/Utils/UIResponder+Current.swift

30 lines
874 B
Swift

//
// UIResponder+Current.swift
// KeyboardAvoidanceSwiftUI
//
// Created by Vadim Bulavin on 3/27/20.
// Copyright © 2020 Vadim Bulavin. All rights reserved.
//
import Foundation
import UIKit
// From https://stackoverflow.com/a/14135456/6870041
extension UIResponder {
static var currentFirstResponder: UIResponder? {
_currentFirstResponder = nil
UIApplication.shared.sendAction(#selector(UIResponder.findFirstResponder(_:)), to: nil, from: nil, for: nil)
return _currentFirstResponder
}
private static weak var _currentFirstResponder: UIResponder?
@objc private func findFirstResponder(_ sender: Any) {
UIResponder._currentFirstResponder = self
}
var globalFrame: CGRect? {
guard let view = self as? UIView else { return nil }
return view.superview?.convert(view.frame, to: nil)
}
}