5

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

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

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

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

 [SearchBar textDidChange: recentlySearchedWord]

但这根本不适用于我的代码中的任何地方。

如果您知道如何解决这个问题,请帮助我。

谢谢,

蒂姆

4

3 回答 3

7

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

[self searchBar:SearchBar textDidChange:recentlySearchedWord];

SearchBar是您引用的 UISearchBar 的实例。

于 2012-07-28T16:08:44.410 回答
1

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

[SearchBar textDidChange: recentlySearchedWord];

称呼

[self searchBar:mySearchBar textDidChange: recentlySearchedWord];

或者如果 textDidChange 在不同的类中,使用 self 的类实例。

于 2012-07-28T16:56:40.900 回答
-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>

于 2016-10-30T15:21:08.563 回答