0

为了让您从一开始就知道,我是iPhone开发的新手,而且我承担了一项巨大的任务。将UISearchBar绑定到一个动作中

首先,我正在编写一个应用程序,允许您在线购物。我们有一个已知的在线购物网站的联属账户,正试图将我们的应用程序绑定到搜索该网站,并将结果放入表格中,并将该结果放入网站的超链接等。

但首先出现的问题有一件事一次:

在Interface Builder中,我有一个搜索栏和一个连接到搜索栏的插座。我还有一个IBAction,它只是将搜索栏中输入的文本存储到一个变量中,然后搜索这个网站(是的,这对于一个操作来说是很多东西)。

因为我在IB这个过程中很新颖,我该如何将搜索栏与IBAction连接起来?我知道,愚蠢的问题。

回答

0

假设你没有一个特定的搜索按钮,设置您的视图控制器为委托的UITextField和实现你的行动

- (BOOL)textFieldShouldReturn:(UITextField *)textField 
{ 
    // Code here... 
    return YES; 
} 

不要忘了申报协议的接口文件太

@interface ... : ... <UITextFieldDelegate> 

一旦完成,每当GO/SEARCH键在键盘上按下时,它将调用上面的方法。

[编辑] 这里是供您参考苹果文档http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html

0

您可以将您的视图控制器作为搜索栏在IB(或程序)的委托,并实现UISearchBarDelegate协议定义搜索栏操作。

作为一个初学者,你应该熟悉委托模式,因为很多iOS SDK都依赖它(iOS Application Programming Guide是一个很好的开始)。

更新

您需要实现在UISearchBarDelegate方法搜索栏的delegate。例如,如果你的搜索栏的MyViewController的属性,你可能希望有这一行MyViewController的实现:

[self.searchBar setDelegate:self]; 

就这么简单;现在,只要您在MyViewController中实现了这些方法,在发生相关操作时它们将自动被调用。

相关问题