РЕДАКТИРОВАТЬ - я выяснил, что я изначально делал неправильно.Я изменял размер UIScrollView вместо подпредставления шаблона.Я исправил это, но исправил свой вопрос, добавив новую проблему.
Я делаю раздел заметок в своем приложении с эффектом линованной бумаги.Строки находятся в отдельном UIScrollView, который отвечает на scrollViewDidScroll:
, поэтому строки и текст всегда перемещаются вместе.Мои строки настроены следующим образом: viewWillAppear
:
CGRect noteLinesRect = CGRectMake(self.view.bounds.origin.x,
self.view.bounds.origin.y,
self.view.bounds.size.width,
noteTextView.contentSize.height+self.view.bounds.size.height);
UIScrollView *anoteXLinesView = [[UIScrollView alloc] initWithFrame:self.view.bounds];
self.noteXLinesView = anoteXLinesView;
[anoteXLinesView release];
LinePatternView *linesPattern = [[LinePatternView alloc] initWithFrame:noteLinesRect];
self.linesPatternView = linesPattern; [linesPattern release];
[self.noteXLinesView addSubview:self.linesPatternView];
[linesPattern release];
CGPoint newOffset = CGPointMake(self.noteTextView.contentOffset.x, noteTextView.contentOffset.y - NOTE_LINES_OFFSET);
self.noteXLinesView.contentOffset = newOffset;
[self.view insertSubview:self.noteXLinesView atIndex:0];
Это прекрасно работает, когда пользователь впервые просматривает сохраненную заметку - весь текст красиво подчеркнут.Но когда они пишут больше текста, в конце концов они доходят до конца строк, которые я создал в viewWillAppear
, и пишут на «чистом листе».Поэтому мне нужно, чтобы мой шаблон на линованной бумаге динамически увеличивался и уменьшался, поэтому он всегда немного больше, чем contentSize моего textView.Я пытаюсь сделать это следующим образом:
-(void)textViewDidChange:(UITextView *)textView
{
self.linesPatternView.frame = CGRectMake( self.linesPatternView.frame.origin.x, //-self.noteTextView.contentOffset.y+NOTE_LINES_OFFSET,
self.linesPatternView.frame.origin.y,
self.linesPatternView.frame.size.width,
noteTextView.contentSize.height+self.view.bounds.size.height );
}
Проблема в том, что, хотя рисунок на линованной бумаге увеличивается в размерах, он не добавляет новых линий внизу.Вместо этого шаблон растягивается и становится больше по мере увеличения вида.Что я делаю не так?