2011-12-02 87 views
2

我看TVAnimationGestures從2010年WWDC,並在TableVieWController.m,它們將覆蓋canBecomeFirstResponder:爲什麼重寫canBecomeFirstResponder?

- (BOOL)canBecomeFirstResponder { 
    return YES; 
} 

有他們這樣做的理由?我沒有看到這個方法在任何地方被調用。謝謝。

+1

他們是否在控制器代碼的任何地方使用'UIMenuController'?如果是這樣,爲了顯示和接收菜單,來自菜單控制器的消息的接收者必須能夠成爲第一響應者。 – gschandler

+0

@gschandler是的,他們確實使用UIMenuController在表格上長按。那麼,您是否需要在每次使用UIMenuController時重寫該方法? –

+0

是的,這是正確的。 – gschandler

回答

4

因此,作爲回答,你可以標記你的問題......

他們使用的是UIMenuController樣本內,並以從控制器到控制器接收郵件,你必須使你的控制器中的第一個響應者(並接受成爲第一個響應者通過canBecomeFirstResponder

0

該方法由Cocoa框架調用,通常不用於查看控制器是否應成爲第一響應者。雖然我沒有看過那個具體的例子,但它可能允許表格是可編輯的。

0

我要重寫canBecomeFirstResponder在自定義的UIView,所以我可以使用自定義InputView和InputAccessoryView。

Custom Views for Data Input

我不得不這樣做,因爲如果我使用UITextField或UITextView,硬件鍵盤會顛覆更有限的屏幕鍵盤。

相關問題