-
Notifications
You must be signed in to change notification settings - Fork 165
Description
Thanks for your great jobs, when I use EGOTextView, I found two bugs:
- crash when I input chinese
- after I set FontSize, EGOTextView show default fontSize in first character
I try fixed it, hope useful:
-
(void)setMarkedText:(NSString *)markedText selectedRange:(NSRange)selectedRange {
NSRange selectedNSRange = self.selectedRange;
NSRange markedTextRange = self.markedRange;NSAttributedString *newString = [[NSAttributedString alloc] initWithString:markedText attributes:self.defaultAttributes];
if (markedTextRange.location != NSNotFound) {
if (!markedText)
markedText = @"";[_mutableAttributedString replaceCharactersInRange:markedTextRange withAttributedString:newString]; / fixed for bug 2 markedTextRange.length = markedText.length;} else if (selectedNSRange.length > 0) {
[_mutableAttributedString replaceCharactersInRange:selectedNSRange withAttributedString:newString]; // fixed for bug 2 markedTextRange.location = selectedNSRange.location; markedTextRange.length = markedText.length;} else {
[_mutableAttributedString insertAttributedString:newString atIndex:selectedNSRange.location]; markedTextRange.location = selectedNSRange.location; markedTextRange.length = markedText.length;}
[newString release];
selectedNSRange = NSMakeRange(selectedRange.location + markedTextRange.location, selectedRange.length);self.attributedString = _mutableAttributedString; // fixed for bug1
self.markedRange = markedTextRange;
self.selectedRange = selectedNSRange;
}