Я пишу приложение, которое занимается редактированием расширенного текста с использованием UITextView. Он использует NSTextStorage для установки новых атрибутов для частей строки. Однако в том случае, если пользователь хочет изменить шрифт или размер шрифта в конце строки для нового стиля текста или в середине строки (другими словами, если диапазон, пройденный до setAttributes:range:
, имеет длину 0) это невозможно сделать, потому что вы не можете установить атрибуты с диапазоном 0. Так что, как я могу установить новый UIFont для позиции курсора в UITextView?Установить новый шрифт в конце NSTextStorage NSMutableAttributedString
соответствующий код из моего NSTextStorage подкласса:
- (void)setAttributes:(NSDictionary *)attrs range:(NSRange)range
{
NSLog(@"setAttributes:%@ range:%@", attrs, NSStringFromRange(range));
[self beginEditing];
[_backingStore setAttributes:attrs range:range];
[_backingStore fixAttributesInRange:range];
[self edited:NSTextStorageEditedAttributes range:range changeInLength:0];
[self endEditing];
}