视图中多个搜索栏的方法

时间:2014-03-07 20:28:48

标签: ios uisearchbar

在视图中,我有两个搜索栏,它们都需要使用单独的searchBarTextDidBeginEditing方法。但是,每当我尝试创建一个单独的方法时,显示为重复。两种方法都在呼唤它。

我很确定我的方法不对。

searchBarTextDidBeginEditing:nearSearch searchBarTextDidBeginEditing:whatSearch

nearSearch和whatSearch是两个不同的搜索栏。

我尝试了nearSearch:searchBarTextDidBeginEditing但不确定这是否正确。

1 个答案:

答案 0 :(得分:1)

委托方法返回对调用它的搜索栏对象的引用,其原因正是您所描述的问题,基本上您应该引用搜索栏,并比较知道哪个搜索栏正在调用方法并采取相应行动..

说你已经定义了

UISearchBar *searchBarOne
UISearchBar *searchBarTwo

然后在您的委托方法中,例如

- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
    {
      if(searchBar==searchBarOne)
      {
          //handle search bar one 
      }
      else if(searchBar==searchBarTwo)
      {
      //handle search bar two
      }
    }

另一个解决方案是为搜索栏设置不同的标签,并比较标签,作为问题的评论。

希望有所帮助

丹尼尔