0
我有2個控制器,一個是SubView。 主控制器可以訪問SearchBar屬性,並且SubViewController不可以。有在主控制器一個搜索欄的功能,我想在子視圖控制器來調用它是這個函數iOS Swift如何將搜索功能包含在另一個函數中
// MainController
func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
// Stop doing the search stuff
// and clear the text in the search bar
searchBar.text = ""
// Hide the cancel button
searchBar.showsCancelButton = false
searchBar.endEditing(true)
Popup.Close_View()
}
我所試圖做的是包裹,上面的功能在另一個函數這樣
func Selected_Location() {
searchBarCancelButtonClicked(SearchBar)
}
所以,在我的子視圖控制器我可以做
// SubView Controller
let Select_Close = MainController()
Select_Close.Selected_Location()
我是新來的斯威夫特和如前所述我怎麼能得到searchBarCancel ButtonClicked函數並在另一個函數內調用它?我曾嘗試在幾個方面做如
func Selected_Location() {
searchBarCancelButtonClicked(_ searchBar: UISearchBar)
}
func Selected_Location() {
searchBarCancelButtonClicked(searchBar)
}
再次我子視圖控制器沒有獲得一個UISearchBar,所以我試圖從子視圖中調用搜索欄關閉功能。
的一個方法,根據您當前的描述也有幾件事情都不清楚:我假設MainController是搜索欄委託是否正確?你說你有兩個控制器,一個是子視圖。你的意思是你有兩個視圖和兩個視圖控制器,其中一個視圖是另一個視圖的子視圖,但他們都有自己的控制器?請提供更多細節。您將希望通過委託實現此功能。 –