2011-09-23 57 views
2

所以,我有委託方法禁用快速刪除的UITextField

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {

運行檢查一個textfield有一個最小它1個字符。

那麼,如果字符數超過20個左右,那麼當用戶按住刪除按鈕一兩秒鐘時,它會刪除整個單詞,跳過delegate檢查並一直刪除到0個字符。

有誰知道如何關閉這個'快速刪除'?

它可以完成,還是有一個體面的解決方法,我沒有看到?

我也應該指出這是一個單詞,將由用戶放在這個文本框中。

+0

什麼,你會想這樣做,如果用戶將迎來幾個字母塊,並刪除它作爲一個整體或一個字母改變呢?這就是爲什麼此方法使用範圍但不分隔字符的原因。 –

回答

1

沒辦法。如果用戶將幾個字母標爲塊並將其全部刪除或用一個字母進行更改,您會做什麼?這就是爲什麼此方法使用範圍但不分隔字符的原因。

+0

我實際上有代碼在那裏處理刪除或添加塊中的內容感謝[這裏](http://stackoverflow.com/questions/433337/iphone-sdk-set-max-character-length-textfield)。我去提前並更改我的代碼以允許用戶刪除所有內容。 – Justin

0

守則

-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string 

-(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ 
    if (![text length]&&range.length&&range.length!=1){ 
     return NO; 
    } 
+0

謝謝,這是我的第一個答案 – cocoa