为了让您从一开始就知道,我是iPhone开发的新手,我承担了一项巨大的任务。
首先,我正在编写一个允许您在线购物的应用程序。我们在一个已知的在线购物网站上有一个联盟帐户,正在尝试将我们的应用程序绑定到搜索该网站,并将结果放入表格中,并附带指向该网站的超链接等。
但首先是问题,一次只有一件事:
在Interface Builder中,我有一个搜索栏,还有一个连接到搜索栏的插座。我还有一个IBAction,只是为了把输入到搜索栏的文本存储到一个变量中,然后搜索这个网站(是的,这是一个很棒的动作)。
因为我在IB的这个过程中是如此新颖,我如何将搜索栏与IBAction连接?我知道,愚蠢的问题。
答案 0 :(得分:0)
假设您没有特定的SEARCH按钮,请将您的View Controller设置为UITextField的代理并在
上实施您的操作- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
// Code here...
return YES;
}
不要忘记在接口文件中声明协议
@interface ... : ... <UITextFieldDelegate>
完成后,每次在键盘上按下GO / SEARCH键时,它都会调用上面的方法。
[编辑] 以下是Apple Doc供您参考http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextFieldDelegate_Protocol/UITextFieldDelegate/UITextFieldDelegate.html
答案 1 :(得分:0)
您可以将视图控制器设置为IB(或编程)中的搜索栏代理,并实施UISearchBarDelegate协议来定义搜索栏的操作。
作为初学者,您应该熟悉委托模式,因为很多iOS SDK都依赖它(iOS Application Programming Guide是一个很好的起点)。
<强>更新强>
您需要在搜索栏的UISearchBarDelegate
中实施delegate
方法。例如,如果您的搜索栏是MyViewController
的属性,您可能希望在MyViewController
的实现中使用此行:
[self.searchBar setDelegate:self];
就这么简单;现在,只要您在MyViewController
中实现了这些方法,就会在相关操作发生时自动调用它们。