2010-03-16 62 views
1

我想確定如何讓UISearchBar延遲調用textDidChange直到幾毫秒過去。我的目標是將多個鍵盤輸入彙總到一個遠程Web服務調用中。現在,我每撥打一次鍵盤都會調用服務器,而且這太方便了。UISearchBar textDidChange遠程調用的延遲

如果在UISearchBar其中一個代表方法中沒有某種方法......是否有其他一些方法可以實現相同的目標...即只有在用戶暫停輸入密鑰之前才調用服務器?

我一直用這個委託方法:

- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText 

回答

5

是的,你可以使用一個NSTimer。

這樣做:

  1. 創建一個NSTimer調用遠程Web服務調用,當用戶開始輸入運行它。
  2. 每次用戶輸入密鑰時都會重置計時器並重新開始。
  3. 如果用戶停止輸入,NSTimer將觸發您的Web服務呼叫。