2011-06-13 53 views

回答

1

我找不到任何名爲UISearchView的類 - 你的意思是UISearchBar?如果是這樣,請繼續閱讀...

您無法以編程方式禁用(變灰)按鈕。在UISearchBarDelegate上執行searchBar:shouldChangeTextInRange:replacementText:方法來檢查替換文本@「\ n」(即返回鍵按下),以及是否輸入了足夠的文本以允許它搜索,如果沒有,則不執行任何操作。

如果你真的要禁用回車鍵,你可以建立自己的鍵盤視圖(沒有框架鍵盤繼承獲得現有功能),並從UITextView的inputView屬性返回它(這也意味着建立自己的搜索視圖)

+0

建立自己的鍵盤視圖的問題是你必須考慮所有的本地化。這不是一件小事。其實我認爲有公司把它們作爲產品來建設。 :) – 2011-06-26 08:15:28

+0

這不是一個心靈的任務,這是肯定的。但這是我能想到的唯一方法,以獲得您正在尋找的確切行爲。 – RyanR 2011-06-26 14:00:57

+0

+1我同意。無法禁用框架鍵盤中的按鈕。 – 2011-06-26 14:08:00

9

值得注意的是,您可以在文本字段上更改enablesReturnKeyAutomatically,這將導致在文本字段中沒有文本時禁用返回/完成鍵。

//默認爲否(YES時,將自動禁用返回鍵時 文本窗口小部件具有零長度的內容,並且將自動啓用 當文本組件具有非零長度的內容)

但是,作爲SK9我很確定注意到你不能指定什麼時候應該啓用和禁用規則。

0

enablesReturnKeyAutomatically爲YES,如果您使用的是uitextfield.It爲我工作。

textField.enablesReturnKeyAutomatically = YES/NO

0

有一個很簡單的解決這個沒有UI的黑客,沒有訪問蘋果私有API和這樣。只需將其添加到viewDidLoad即可。

 yourSearchBar.enablesReturnKeyAutomatically = true 

按照蘋果的文檔:

如果你把它設置爲true,當文本輸入區不包含文本的鍵盤禁用回車鍵。只要用戶輸入一些文本,Return鍵就會自動啓用。