У меня есть UIScrollView с несколькими дочерними UITextView, расположенными вертикально. Я хочу, чтобы UIScrollView изменялся в соответствии с содержанием. Так что мои TextViews яКак изменить размер UIScrollView в соответствии с содержанием детей UITextViews
- (void)textViewDidChange:(UITextView *)textView
{
CGFloat fixedWidth = textView.frame.size.width;
CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
CGRect newFrame = textView.frame;
newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
textView.frame = newFrame;
[textView setNeedsLayout];
}
И для Scrollview я
-(void)resizeScrollViewToFitContent
{
CGRect contentRect = CGRectZero;
for (UIView *view in self.scrollView.subviews) {
contentRect = CGRectUnion(contentRect, view.frame);
}
self.scrollView.contentSize = contentRect.size;
}
Я называю [self resizeScrollViewToFitContent]
внутри viewDidAppear
. Любые идеи, почему эта настройка не работает?
Вы сможете загрузить образец проекта на Github? – Ricky
№. Мне не разрешено загружать проект в публичное репо. –
Просто создайте новый образец проекта, 1 контроллер представления со списком прокрутки, а также текстовое изображение + код, чтобы изменить размер текста/прокрутки, которые вы сделали. – Ricky