2010-03-08 55 views
3

我想在這裏爲我做一些投入,替代品就會出現類似的,當你鍵入郵件應用程序的地址,東西的UITextField或UITextView中,替代實現自動完成出現下降,是(因爲沒有必要鍵入完整的單詞或地址或電話號碼)在iPhone的UITextField在地址簿中的聯繫人

我知道如何從地址簿框架中獲取數據,也知道如何輸入文本的UITextField/UITextView的及其代表,但我不知道是什麼樣的結構,以用於獲取和顯示數據爲用戶做他/她的輸入。

我知道基本的CoreData,如果這件事,

我希望我能得到一些幫助。

UPDATE(2010/3/10): 我沒有問題做一個本地類似的GUI,但我問的算法,有沒有人知道什麼樣的算法最適合這個東西?也許一些二叉樹? 或者我應該每次都從coredata獲取數據?

感謝

伊格納西奧

UPDATE(2010/03/28): 我一直很忙,這些天,所以我還沒有嘗試過UISearchResults但似乎沒什麼問題。但我不知道是否有必要刪除優勝的答案?我認爲這是不公平的,我的聲譽下降,看不到勝利的答案。 ;(

+0

您是否嘗試過我發佈的解決方案?...您是否需要任何幫助? – 2010-03-15 14:56:17

回答

7

你並不需要一些先進的算法,做這種事情?如果你想搜索地址簿,那麼每次用戶輸入一個字符時(或者頻繁地需要搜索)你都可以這樣做。要做到這一點,只需看看UISearchDisplayController課程。我通過查看蘋果的TableSearch示例應用程序,學會了如何做幾乎確切的事情。

該應用程序使用不同的字段(所有,設備,桌面,便攜式)搜索對象列表...所以你可以適應地址簿字段(名字,姓氏,地址...)。唯一需要更改的是地址簿中的搜索。我不確切知道你的要求是什麼,但這應該是你需要完成的。如果你對代碼有任何問題,請讓我知道...但這個例子確實幫了我很大的忙,所以希望它對你有用。

+0

哇。有時候自動接受不會有任何正義(*大部分的時間都可以)。我不能重新獎賞賞金,但我已經刪除了簡單發佈其中一個鏈接的「獲勝」答案。對不起,它是這樣。 – 2010-03-17 19:23:21

+1

沒關係......感謝您的幫助Marc! – 2010-03-17 19:47:00

1

前一陣子我一直在尋找同樣的事情的東西,人們不停地暗示是在Three20項目(google一下)

對於我的需求,這是矯枉過正,因爲它需要整個項目建設和我不想整個項目加上它的更多的樂趣,自己:)

嘗試它,我結束了從頭開始,使我自己:

我開始了一個UIScrollView的子類來包含不同的控制。我將一個UITextField子類化並覆蓋「editingRectForBounds」以支持多行。其中顯示聯繫人的位只是一個與背景顏色的UITableView:

[UIColor colorWithRed:0.92 green:0.92 blue:0.92 alpha:1]; 

和分隔顏色:

[UIColor colorWithWhite:0.85 alpha:1]; 

這和使用陰影使得它看起來像它的稍微下凹陷UITextField。我用一個自定義的UIView創建陰影,加載一次,並在需要時隱藏它,但它與圖像一樣好。

最後,我用一個自定義的UIView它可以攔截「的touchesBegan」知道什麼時候他們應該改變顏色由藍色藥片的形狀。

添加它們是計算他們需要的地方去,用一個簡單的問題:

[myTextField addSubview:myBlueView]; 

希望幫助!

相關問題