Iphone 搜索栏文本更改

Iphone 搜索栏文本更改,iphone,ios5,searchbar,Iphone,Ios5,Searchbar,在带有搜索栏的tableViewController中,我使用以下方法: -(void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { ...my code } 当我直接在搜索栏中输入文本时,效果很好 我现在遇到的问题是,我希望以编程方式调用此方法-这意味着我希望从我知道如何操作的代码中填充搜索栏(实际上,我在语言词典应用程序中选择了一个最近搜索到的单词),并调用类似于: [Sear

在带有搜索栏的tableViewController中,我使用以下方法:

-(void) searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 
{
   ...my code
}
当我直接在搜索栏中输入文本时,效果很好

我现在遇到的问题是,我希望以编程方式调用此方法-这意味着我希望从我知道如何操作的代码中填充搜索栏(实际上,我在语言词典应用程序中选择了一个最近搜索到的单词),并调用类似于:

 [SearchBar textDidChange: recentlySearchedWord]
但这在我的代码中的任何地方都不起作用

如果你有办法解决这个问题,请帮助我

谢谢


Tim

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

[self searchBar:SearchBar textDidChange:recentlySearchedWord];

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

textDidChange不是类方法。因此,与其打电话:

[SearchBar textDidChange: recentlySearchedWord];
召唤


或者,如果textdichange在另一个类中,请使用类实例而不是self。

如果代码更简单,您也可以尝试使用此代码


输入[类型=文本]{
宽度:100%;
框大小:边框框;
边框:2个实心#ccc;
边界半径:4px;
字体大小:16px;
背景色:白色;
背景图片:url('searchicon.png');
背景位置:10px 10px;
背景重复:无重复;
填充:12px 20px 12px 40px;
}
用图标输入:


非常感谢。这正是我想要的:)你在swift中是如何做到这一点的?@JosephAstrahan你的意思是:搜索栏(searchBar,textDidChange:recentlySearchedWord)他没有问html,你知道!
[self searchBar:mySearchBar textDidChange: recentlySearchedWord];