2010-03-29 70 views
5

嘿傢伙檢查這個代碼(我的自定義鍵盤)退格鍵的問題:自定義鍵盤的iPhone,其在UITextView的

-(IBAction) updateTextBackSpace:(id)sender 
{ 
    if([txtview.text length]>0) 
    { 
     NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)]; 
     [txtview setText:deletedLastCharString]; 
    } 
    else 
    { 
     return nil; 
    } 
} 

的事情是,我無法弄清楚如何改變這種代碼,這樣,我可以擦除在光標任何給定線的任何文字,退格開始從行尾抹去。我應該能夠從光標位置刪除(退格鍵),請幫助

+0

你有自定義鍵盤嗎?手動處理所有事件? – Manjunath 2010-03-29 09:46:29

+0

是的,我正在努力做到這一點。 – 2010-03-29 11:12:43

+0

你解決了你的問題嗎?因爲我仍然有一些錯誤!像你一樣,不起作用。 :( – Momi 2010-10-13 06:00:25

回答

3

替換此

NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)]; 

NSRange range = [txtview selectedRange]; 
NSString *deletedLastCharString = [txtview.text substringToIndex:([range.location]-1)]; 
+0

代碼看起來不錯。但是我得到一個錯誤:''''''''''之前的']'令牌 對不起noobo – 2010-03-29 11:07:33

+0

嘿我編輯它到(range.location)而不是[range.location]。 它的工作原理是清除光標後面的文本 如果我想編輯ABCD EFG,我將光標放在D處,並按下退格鍵進入剩下的EFG,所以輸出是:ABC 我想要。:ABC EFG 由於米希爾 – 2010-03-29 11:33:14

+0

嘗試使用 [txtview.text substringToIndex:([txtview.text長度] - [range.location] -1)]; 它應該工作... – 2010-03-29 12:05:15