@@ -15,7 +15,7 @@ class DocumentationViewController:
1515 }
1616
1717 private var webView : WKWebView !
18- private var searchCVC : SearchControlViewController !
18+ private var searchCVC : SearchControlViewController ?
1919
2020 @objc dynamic var documentTitle : String ?
2121 @objc dynamic var documentURL : URL ?
@@ -74,24 +74,35 @@ class DocumentationViewController:
7474
7575 private func setupSearchControlView( ) {
7676 // Need to store strong ref to the VC, or IBActions don't work
77- searchCVC = SearchControlViewController ( )
77+ let searchCVC = SearchControlViewController ( )
7878 searchCVC. delegate = self
7979
8080 let searchView = searchCVC. view
8181 searchView. translatesAutoresizingMaskIntoConstraints = false
82+ searchView. isHidden = true
8283
8384 webView. addSubview ( searchView) ;
8485 NSLayoutConstraint . activate ( [
8586 searchView. widthAnchor. constraint ( equalToConstant: 270 ) ,
8687 searchView. rightAnchor. constraint ( equalTo: webView. rightAnchor)
8788 ] )
89+
90+ self . searchCVC = searchCVC
8891 }
8992
9093 private func loadWebsite( ) {
9194 let request = URLRequest ( url: documentURL!)
9295 webView. load ( request)
9396 }
9497
98+ func showSearchControl( ) {
99+ if viewerState != . ready {
100+ return
101+ }
102+ guard let vc = searchCVC else { return }
103+ vc. view. isHidden = false
104+ }
105+
95106 // MARK:- WKUIDelegate
96107
97108 func webView( _ webView: WKWebView ,
@@ -209,5 +220,7 @@ extension DocumentationViewController: SearchControlDelegate {
209220
210221 func dismiss( ) {
211222 webView. evaluateJavaScript ( " resetSearch(); " )
223+ guard let vc = searchCVC else { return }
224+ vc. view. isHidden = true
212225 }
213226}
0 commit comments