2017-08-17 1 views
0

埋め込みナビゲーションバーを使用して検索バーを設定しました。 func searchBarSearchButtonClickedが検出されていません。ユーザーが検索バーをタップすると、別の関数が呼び出されるようにしたいと思います。私はこの質問に関係のない無関係なコードを取り出しました。何が問題なの?ユーザーが検索バーをタップしたときに機能以下searchBarSearchButtonClickedが検出されていません

class FirstViewController: UIViewController, UISearchBarDelegate { 

var resultSearchController: UISearchController? = nil      

    override func viewDidLoad() { 
    super.viewDidLoad() 

    // set up the search results table 
    let locationSearchTable = storyboard!.instantiateViewController(withIdentifier: "LocationSearchTable") as! LocationSearchTable 

    resultSearchController = UISearchController(searchResultsController: locationSearchTable) 
    resultSearchController?.searchResultsUpdater = locationSearchTable 

    let searchBar = resultSearchController!.searchBar 
    searchBar.sizeToFit() 
    searchBar.placeholder = "Where would you like to go" 
    navigationItem.titleView = resultSearchController?.searchBar 
    searchBar.delegate = self 

    resultSearchController?.hidesNavigationBarDuringPresentation = false 
    resultSearchController?.dimsBackgroundDuringPresentation = true 
    definesPresentationContext = true         
    }        

    func searchBarSearchButtonClicked(_: UISearchBar) { 
    // closeMapType() 
    // self.mapType.transform = .identity 
    print("it worked") 
    }                  
} 
+0

コードは思わキーボードで「検索」ボタンをクリックしたときに

func searchBarShouldBeginEditing(_ searchBar: UISearchBar) -> Bool { return true } 

これが呼び出されますデバイスで試してみましたか?シミュレータの場合はEnterキーを押してください –

+0

ええ、それは動作しませんでしたし、印刷機能が表示されませんでした – zachenn

答えて

0

を呼び出します。私たちは

func searchBarSearchButtonClicked(_: UISearchBar) 
+0

それはうまくいった!私はまた、私が呼び出そうとしている関数の1つが別のクラスにあることに気付きました。他のクラスの関数をどのように呼び出すのですか?拡張機能を使用する必要がありますか?または、私は現在のところ – zachenn

+0

であることがこのFirstViewControllerクラス内で可能ですか?私はそれを "FloatingActionButton()。beginTracking(touch:UITouch、with:UIEvent?)"と考え出しました。 UIEvent? – zachenn

関連する問題