searchBar textDidChange

时间:2012-07-28 15:28:56

标签: iphone ios5 searchbar

在带有searchBar的tableViewController中,我使用以下方法:

-(void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{
   ...my code
}

当我直接在searchBar中输入文字时,它可以正常工作。

我现在遇到的问题是我想以编程方式调用此方法 - 这意味着我想从我的代码填写搜索栏,我知道该怎么做(实际上我在我的语言词典中选择一个最近搜索过的单词应用程序)并调用类似的东西:

 [SearchBar textDidChange: recentlySearchedWord]

但这在我的代码中的任何地方都无效。

如果您对如何解决这个问题有所了解,请帮帮我。

谢谢,

3 个答案:

答案 0 :(得分:7)

如果你在视图控制器(或任何类)中实现UISearchBar的委托方法- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText,并且你想从同一个类中调用该方法,这就是你想要做的,我假设,你' d必须致电

[self searchBar:SearchBar textDidChange:recentlySearchedWord];

SearchBar 是您正在引用的UISearchBar的实例。

答案 1 :(得分:1)

textDidChange不是类方法。所以不要打电话:

[SearchBar textDidChange: recentlySearchedWord];

呼叫

[self searchBar:mySearchBar textDidChange: recentlySearchedWord];

或者如果textDidChange位于不同的类中,请使用self自己的类实例。

答案 2 :(得分:-1)

如果它变得更容易,您也可以尝试使用此代码。

<!DOCTYPE html>
<html>
<head>
<style>
input[type=text] {
    width: 100%;
    box-sizing: border-box;
    border: 2px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
    background-color: white;
    background-image: url('searchicon.png');
    background-position: 10px 10px;
    background-repeat: no-repeat;
    padding: 12px 20px 12px 40px;
}
</style>
</head>
<body>

<p>Input with icon:</p>

<form>
  <input type="text" name="search" placeholder="Search..">
</form>

</body>
</html>

相关问题