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中實現了這些方法,在發生相關操作時它們將自動被調用。

相關問題