2010-10-28 29 views
6

tôi tạo nút backspace tùy chỉnh nhưng sự cố của tôi là nút quay lại hoạt động tốt để xóa ký tự khỏi giữa các từ nhưng chỉ cần xóa 1 ký tự sau đó (xóa chữ cái), quay lại cuối dòng nó có nghĩa là không ở lại nơi con trỏ là, đây là mã của tôi:Xóa ký tự bằng nút

 NSRange deleteRange = textPad.selectedRange; 

     if (deleteRange.length >0) 
     textPad.text = [textPad.text stringByReplacingCharactersInRange:deleteRange withString:@""]; 


     else 

      if (deleteRange.location > 0) 
      textPad.text = [textPad.text stringByReplacingCharactersInRange:NSMakeRange(deleteRange.location-1,1) 
withString:@""]; 

Trả lời

3

tôi cố định nó: chỉ cần thêm mã này:

deleteRange.location--; 
deleteRange.length = 0; 
textPad.selectedRange = deleteRange; 
3

Bạn có thể giải quyết vấn đề này một cách dễ dàng bằng cách thiết lập thuộc tính selectedRange của UITextView

NSRange ran= textView.selectedRange 
    //do your deletions 
    ran.lenght=0; 
    if(ran.location!=0) 
    ran.location--; 
    textView.selectedRange=ran; 
+0

có vẻ như bạn đã tự mình tìm thấy nó :) – Daniel

+0

có cảm ơn bạn anyway :) – Momi

Các vấn đề liên quan