Я вставляю первую строку в UITextView
по мере ввода. Вот демо.Настройка firstLineHeadIndent в UITextView attribittedText
Это работает, но я не могу понять, как иметь отступ текста, когда он появляется. Если вы добавляете и удаляете символ с клавиатуры, он правильно отбрасывает пустую строку, но я не могу понять, как это сделать, когда она впервые появляется.
@interface ViewController()
@property (strong, nonatomic) UITextView *textView;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
self.textView = [UITextView new];
self.textView.delegate = self;
[self.view addSubview:self.textView];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.textView.frame = self.view.bounds;
[self textViewDidChange:self.textView];
}
- (void)textViewDidChange:(UITextView *)textView {
NSMutableParagraphStyle *style = [NSMutableParagraphStyle new];
style.firstLineHeadIndent = 20.f;
NSMutableAttributedString *string = [[NSMutableAttributedString alloc] initWithString:textView.text attributes:@{NSParagraphStyleAttributeName: style}];
textView.attributedText = string;
}
@end
Я вставляю в первую строку не весь текст. –
Вы можете сначала установить текст в пустое пространство и удалить пространство позже. – gabbler
Я тоже об этом думал, но этот хак вызывает проблемы в моем проекте. –