Reputation: 504
Check this code (My Custom Keyboard):
-(IBAction) updateTextBackSpace:(id)sender
{
if([txtview.text length]>0)
{
NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)];
[txtview setText:deletedLastCharString];
}
else
{
return nil;
}
}
The thing is that I can't figure out how to change this code so that. I can erase any text in any give line at the cursor, the backspace starts to erase from end of the line. I should be able to erase(backspace) from the cursor location.
Upvotes: 4
Views: 1404
Reputation: 13843
replace this
NSString *deletedLastCharString = [txtview.text substringToIndex:([txtview.text length]-1)];
with
NSRange range = [txtview selectedRange];
NSString *deletedLastCharString = [txtview.text substringToIndex:([range.location]-1)];
Upvotes: 3