From 4f2a5b02fd39d59b4b4d5eaedc68ec66dff5c7fc Mon Sep 17 00:00:00 2001 From: Taichiro Yoshida Date: Mon, 3 Apr 2023 14:57:42 +0900 Subject: [PATCH 1/2] Add textDidBeginEditingPublisher on UISearchBar --- Sources/CombineCocoa/Controls/UISearchBar+Combine.swift | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift b/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift index 83587e5..5d305c1 100644 --- a/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift +++ b/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift @@ -21,6 +21,15 @@ public extension UISearchBar { .map { $0[1] as! String } .eraseToAnyPublisher() } + + /// Combine wrapper for `UISearchBarDelegate.searchBarTextDidBeginEditing(_:)` + var textDidBeginEditingPublisher: AnyPublisher { + let selector = #selector(UISearchBarDelegate.searchBarTextDidBeginEditing(_:)) + return delegateProxy + .interceptSelectorPublisher(selector) + .map { _ in () } + .eraseToAnyPublisher() + } /// Combine wrapper for `UISearchBarDelegate.searchBarSearchButtonClicked(_:)` var searchButtonClickedPublisher: AnyPublisher { From 65b8cc1606e3248758042b3b56dd8f24c0dad7f6 Mon Sep 17 00:00:00 2001 From: Taichiro Yoshida Date: Mon, 3 Apr 2023 14:58:27 +0900 Subject: [PATCH 2/2] Add textDidEndEditingPublisher on UISearchBar --- .../CombineCocoa/Controls/UISearchBar+Combine.swift | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift b/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift index 5d305c1..824f296 100644 --- a/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift +++ b/Sources/CombineCocoa/Controls/UISearchBar+Combine.swift @@ -21,7 +21,7 @@ public extension UISearchBar { .map { $0[1] as! String } .eraseToAnyPublisher() } - + /// Combine wrapper for `UISearchBarDelegate.searchBarTextDidBeginEditing(_:)` var textDidBeginEditingPublisher: AnyPublisher { let selector = #selector(UISearchBarDelegate.searchBarTextDidBeginEditing(_:)) @@ -30,6 +30,15 @@ public extension UISearchBar { .map { _ in () } .eraseToAnyPublisher() } + + /// Combine wrapper for `UISearchBarDelegate.searchBarTextDidEndEditing(_:)` + var textDidEndEditingPublisher: AnyPublisher { + let selector = #selector(UISearchBarDelegate.searchBarTextDidEndEditing(_:)) + return delegateProxy + .interceptSelectorPublisher(selector) + .map { _ in () } + .eraseToAnyPublisher() + } /// Combine wrapper for `UISearchBarDelegate.searchBarSearchButtonClicked(_:)` var searchButtonClickedPublisher: AnyPublisher {