Если вам не нужно, чтобы пользователь редактировал текст, и вам просто нужно показать какой-то текст с возможностью изменения атрибутов шрифта (например, размер, вес) - используйте атрибутивную строку представления текста. Затем разрешите редактировать атрибуты и просто вызывать методы из протокола UIResponderStandardEditActions
, например increaseSize:
или decreaseSize:
в UITextView. Перед этим вы должны установить диапазон текста, который должен быть затронут:
self.textView.editable = NO;
self.textView.selectable = NO;
self.textView.allowsEditingTextAttributes = YES;
self.textView.attributedText = [[NSAttributedString alloc] initWithString:@"Lorem ipsum dolor sit er elit lamet..."];
Перед вызовом метода увеличения / уменьшения выделите весь текст:
//First select needed range
[self.textView setSelectedRange:NSMakeRange(0, self.textView.attributedText.length)];
//Then call increazing method
[self.textView increazeSize:nil];
Также вы можете вызывать другие методы этого красивого протокола, которые любезно реализует UITextView:
[self.textView decreaseSize:sender];
[self.textView toggleBoldface:nil];
[self.textView toggleItalics:nil];
[self.textView toggleUnderline:nil];