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是搜索栏委托是否正确?你说你有两个控制器,一个是子视图。你的意思是你有两个视图和两个视图控制器,其中一个视图是另一个视图的子视图,但他们都有自己的控制器?请提供更多细节。您将希望通过委托实现此功能。 –