2010-11-26 96 views
6

我有一個支持複製和顯示使用編輯菜單下面的代碼視圖:becomeFirstResponder不隱藏鍵盤

if ([self becomeFirstResponder]) { 
    // bring up edit menu. 
    UIMenuController *theMenu = [UIMenuController sharedMenuController]; 
    [theMenu setTargetRect:[self _textRect] inView:self]; 
    [theMenu setMenuVisible:YES animated:YES]; 
} 

的問題是,當becomeFirstResponder被調用,鍵盤獲取的隱患。 SMS應用程序中的正確行爲的一個很好的例子。當答覆框可見並且答覆框失去焦點時,雙擊一條消息,但鍵盤保持原位。另外,當泡泡被取消選擇時,回覆框會重新獲得焦點。

回答

5

不幸的是,Apple可以做很多第三方應用程序無法提供的功能。

我相信你想要的是可能在iOS 3.2+,如果你使視圖成爲第一響應者接受鍵盤輸入。您可以通過讓您的視圖類採用UIKeyInput protocol

UIResponder的子類可以採用此協議來實現簡單的文本輸入。當這個子類的實例是第一響應者時,顯示系統鍵盤。

該協議由3個必須實現的方法組成。在你的情況下,你可能會把你在這些方法中接收到的輸入應用到你的文本字段,並再次成爲第一響應者。我沒有嘗試過,但它應該可以工作。

+0

我試過這個。我已經實現了3種方法,並且在文本字段中仍然有閃爍的光標。 – 2012-07-23 21:56:40