IOS application/Swift

17. currentFirstResponder

개발자킹콩 2021. 5. 24. 23:43

페이지를 구성하다보면 현재 FirstResponder이 누구인지를 판단해야 하는 경우가 발생한다.

그래서 직접 extension으로 구현해보았다.

 

원하는 상황에 currentFirstResponder()을 호출하게 되면

UIResponder에서 first에 해당하는 responder을 반환하게 된다.

 

 

import UIKit

extension UIView {
    func currentFirstResponder() -> UIResponder? {
        if self.isFirstResponder {
            return self
        }
        
        for view in self.subviews {
            if let responder = view.currentFirstResponder() {
                return responder
            }
        }
        return nil
     }
}