2011-03-23 188 views
1

单击键盘上的“搜索”后,搜索栏文本将被清除。有没有办法在搜索栏中保留文本?为什么它会消失?阻止搜索按钮清除搜索栏文本

注:我使用搜索显示控制器来激活和取消激活搜索

+0

我看了看他们使用搜索显示控制器的其他应用程序。看起来它是搜索文本消失的标准。点击搜索按钮不应该停用搜索栏,而应该隐藏键盘。 thx为您的帮助 – prostock 2011-04-12 23:11:55

+2

我无法重现此行为。我也在使用搜索显示控制器“,当我点击”搜索“时,搜索栏文本不会清除。我没有做任何特别的事情来阻止它。你能发布一些与此相关的代码吗?也许你的'SearchDisplayControllerDelegate'和'UISearchBarDelegate'协议实现? – XJones 2011-04-14 16:32:35

+1

确保你没有改变searchButtonClicked委托中的searchBar.text(如果你使用的是)。 – Ravin 2011-04-16 06:00:01

回答

1

我发现这从一个有点相关的问题......但是,当用户点击下面的代码应该保持搜索词可见搜索按钮。

-(void) searchBarSearchButtonClicked:(UISearchBar *)searchBar { 
    NSString *str = searchBar.text; 
    [self.searchController setActive:NO animated:YES]; 
    self.searchController.searchBar.text = str; 
} 
+2

我会用保留和释放来包装它。 setActive:animated:方法可能会通过内部释放它来使str指针无效。通过增加保留力量我们可以确保它仍然可用。 – 2011-04-15 21:31:15