2013-07-03 205 views
-1

我是Objective-c的新手,我試圖構建一些測試應用程序。目標c按下鍵盤按鍵時更改背景顏色

我有以下方法:

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 
{ 
     //here i should put some code 
     return TRUE; 
} 

我怎樣才能讓一些代碼工作這個方法裏面打印壓在我的鍵盤哪個鍵?

可以更改密鑰的狀態?例如,更改背景顏色或字母顏色?

在此先感謝!

+0

備註 - 此方法的返回類型是'BOOL'。因此,您應該返回'YES'或'NO',而不是'TRUE'。 – rmaddy

回答

1

您無法在iOS中獲得單個按鍵。任何改變都會調用shouldChangeCharactersInRange方法。這包括用戶在鍵盤上鍵入或從剪貼板粘貼文本的用戶。

沒有API允許您對系統鍵盤進行任何更改。如果您想在用戶輸入時更新鍵盤,則需要創建自己的自定義鍵盤並根據需要處理事件。

+0

除非您要重新創建系統鍵盤的所有功能,否則您可能不應嘗試。不僅如此,除非Apple爲此打開了一些API,否則您的鍵盤只能在您的應用程序中運行。 (或在越獄手機上)。最後,我注意到一些填字遊戲應用程序有自己的鍵盤,但它們只需要系統鍵盤功能的一個子集,即使這樣他們也會遇到一些錯誤。 – nielsbot

+0

沒有試圖通過說這個來減少rmaddy的回答。 – nielsbot

+0

@nielsbot好評。我同意製作你自己的全鍵盤是非常困難的。 – rmaddy

0
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)aString 
  1. 的NSLog(@ 「的信按下:」,ASTRING);
    //記住刪除鍵和粘貼的文本可能會導致一些其他邊緣情況下的問題。
  2. 沒有,除非你繼承
  3. 沒有,除非你繼承

如果你想創建一個自定義鍵盤有很多誰已經提供了一個良好的開端爲靈感的人。谷歌「定製ios鍵盤」

+0

如果用戶點擊刪除鍵或從粘貼板粘貼文本。 – rmaddy

+0

在你所述的情況下,沒有特定的「字母」鍵可以打印,這使得按鍵/文本粘貼與他正在查找的內容無關。但是,如果他也在尋找這些信息,他至少有一個出發點。 –

+0

您指出的內容仍然與知道相關,但我確實贊同。 –

相關問題