0

从一开始就让你知道,我是 iPhone 开发的新手,我已经完成了一项艰巨的任务。

首先,我正在编写一个允许您在线购物的应用程序。我们有一个已知在线购物网站的附属帐户,正在尝试将我们的应用程序与搜索该网站联系起来,并将结果放入表格中,并带有指向该网站的超链接等。

但首先是问题,一次一件事:

在 Interface Builder 中,我有一个搜索栏,以及一个连接到搜索栏的插座。我还有一个 IBAction 只是为了获取输入到搜索栏中的文本,将其存储到一个变量中,然后搜索这个网站(是的,这是一个动作的很多东西)。

因为我对 IB 的这个过程很陌生,我如何将搜索栏与 IBAction 连接起来?我知道,愚蠢的问题。

4

2 回答 2

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

于 2010-11-30T00:03:08.593 回答
0

您可以将视图控制器设置为 IB 中的搜索栏代理(或以编程方式),并实现UISearchBarDelegate协议来定义搜索栏的操作。

作为初学者,您应该熟悉委托模式,因为很多 iOS SDK 都依赖于它(iOS 应用程序编程指南是一个很好的起点)。

更新

您需要UISearchBarDelegate在搜索栏的delegate. 例如,如果您的搜索栏是 的属性MyViewController,您可能希望在MyViewController的实现中包含这一行:

[self.searchBar setDelegate:self];

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

于 2010-11-30T01:15:27.703 回答