【问题标题】:IOS Swift how can I include the search function inside another functionIOS Swift如何将搜索功能包含在另一个功能中
【发布时间】:2016-11-16 01:33:49
【问题描述】:

我有 2 个控制器,一个是子视图。 MainController 可以访问 SearchBar 属性,而 SubViewController 没有。主控制器中有一个 SearchBar 函数,我想在子视图控制器中调用它就是这个函数

      // 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()

我是 Swift 新手,如前所述,如何获取 searchBarCancelButtonClicked 函数并在另一个函数中调用它?我尝试过多种方式,例如

  func Selected_Location() {
        searchBarCancelButtonClicked(_ searchBar: UISearchBar)
    }

    func Selected_Location() {
        searchBarCancelButtonClicked(searchBar)
    }

再一次,我的 SubView 控制器无法访问 UISearchBar,所以我试图从 SubView 中调用 SearchBar 关闭函数。

【问题讨论】:

  • 根据您当前的描述,有一些不清楚的地方:我假设 MainController 是 SearchBar 委托是否正确?你说你有两个控制器,一个是子视图。你的意思是你有两个视图和两个视图控制器,其中一个视图是另一个视图的子视图,但它们都有自己的控制器?请提供更多详细信息。您将希望通过委托来实现此功能。

标签: ios swift swift3 uisearchbar


【解决方案1】:

在Subview中,保持MainViewController的弱引用,然后调用mainviewcontroller的一个方法searchBarCancel

class MainViewController:UIViewController {
    var subViewController: SubViewController
    func searchBarCancel(){
        searchBarCancelButtonClicked(self.searchBar)
    }
    func func2(){
        subViewController.mainController = self
    }
}

class SubViewController:UIView {
    weak var mainController: MainViewController?
    func Selected_Location() {
        mainController!.searchBarCancel()
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-12
    • 1970-01-01
    • 1970-01-01
    • 2019-01-22
    • 1970-01-01
    相关资源
    最近更新 更多