Я новичок в этом мире приложений iOS, и я разрабатываю приложение, которое должно отображать подробную информацию об элементе. Эта деталь может получить комментарии от пользователей и то, что мне нужно, что каждый раз, когда деталь получает новый комментарий высоту моего увеличения экрана, вот что я сделал, это экран:Как увеличить высоту, программно, UIScrollView с ограничениями?
Сдерживающие факторы для прокрутки: Трейлинг, Ведущий, сверху и снизу к его надзору. Для просмотра содержимого: Трейлинг, Ведущий, верхний и нижний к его надзору. Выровняйте центр по x и y и сравните его по высоте и ширине с надстройкой.
Все комментарии приходят из службы, я хочу, чтобы контент увеличивался. Я показываю все комментарии, но UIScrollView не работает. Я думаю, что это из-за ограничения
Вот как я загружать и печатать комментарии и изменить contentzise моего Scrollview:
int y = bottomLine.frame.origin.y + 8;
int numComments = [[content objectForKey:@"comments"] intValue];
if (numComments > 0) {
for (int j=0; j < [comments count]; j++) {
commentData = [comments objectAtIndex:j];
//Create all the elements
viewComments = [[UIView alloc] initWithFrame:CGRectMake(8, y, self.view.bounds.size.width - 16, 109)];
viewComments.backgroundColor = [UIColor grayColor];
UIImageView *viewImgComment = [[UIImageView alloc] initWithFrame:CGRectMake(8, 8, 50, 50)];
NSURL *linckImage = [NSURL URLWithString:[commentData objectForKey:@"image"]];
[viewImgComment sd_setImageWithURL:linckImage placeholderImage:[UIImage imageNamed:@"place_holder_user"]];
viewImgComment.layer.cornerRadius = 25;
viewImgComment.clipsToBounds = YES;
UILabel *lblTituloComment = [[UILabel alloc] initWithFrame:CGRectMake(50 + 16, 8, (viewComments.bounds.size.width - 74) , 17)];
[lblTituloComment setText:[commentData objectForKey:@"name"]];
[lblTituloComment setFont:[UIFont systemFontOfSize:14.0f]];
UIView *viewRating = [[UIView alloc] initWithFrame:CGRectMake(50 + 16, 17 + 16, 121, 23)];
viewRating.backgroundColor =[UIColor blackColor];
viewRating.layer.cornerRadius = 11;
UILabel *lblDescripcionComment = [[UILabel alloc] initWithFrame:CGRectMake(8, 50 + 8, (viewComments.bounds.size.width - 16), 43)];
[lblDescripcionComment setText:[commentData objectForKey:@"comment"]];
[lblDescripcionComment setFont:[UIFont systemFontOfSize:14.0f]];
[lblDescripcionComment setNumberOfLines:0];
y = y + 117;
[viewComments addSubview:viewImgComment];
[viewComments addSubview:lblTituloComment];
[viewComments addSubview:viewRating];
[viewComments addSubview:lblDescripcionComment];
[masterScroll addSubview:viewComments];
}
}
//Increase the content size
masterScroll.contentSize = CGSizeMake(self.view.bounds.size.width, y);
Я надеюсь, что некоторые тела могут мне помочь, я пытался в течение 3-х дней, исследовать и спрашивать. Любой вопрос или какое-либо объяснение чего-то дайте мне знать.
вы можете сказать мне, для комментариев вы используете табличное или UIView? если в таблице нет проблемы. если вы используете uiview, то у вас есть некоторые изменения. Не большая проблема. Просто скажи мне. – Pavankumar
уверен, я использую uiview. – Joe0588
1. Сохраните запись текущей высоты перед добавлением комментария. После добавления комментария вычислите высоту этого вида. Найдите разницу между предыдущей и текущей высотой. 2. Перейдите в панель рассказов -> выберите ограничение высоты прокрутки -> создайте выход для этого ограничения. -> Теперь перейдите в код -> heghtConstraint.constant = differenceHeight + currentHeightOfScrollView. – Pavankumar