Cela dépend du type de contenu que vous allez ajouter dynamiquement. Supposons que vous ayez un grand nombre de données à afficher, puis utilisez UITextView et comme c'est une sous-classe de UIScrollView, vous pouvez obtenir le setContentSize de TextView lorsque vous affectez le contenu du texte. Sur cette base, vous pouvez définir la taille totale de UIScrollView.
float yPoint = 0.0f;
UIScrollView *myScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0.0f, yPoint, 320.0f, 400.0f)];
UITextView *calculatorTextView = [[UITextView alloc] init]; calculatorTextView.text = @"My looong content text ..... this has a dynamic content"; `
[calculatorTextView sizeToFit];
yPoint = yPoint + calculatorTextView.contentSize.height; // Bingo, we have the new yPoint now to start the next component.
// Maintenant, vous connaissez la hauteur de votre texte et où elle se terminera. Vous pouvez donc créer une étiquette ou un autre TextView et y afficher votre texte. Vous pouvez ajouter ces composants en tant que sous-vue à la scrollview.
UITextView *myDisplayContent = [[UITextView alloc] initWithFrame:CGRectMake(0.0f, yPoint, 300.f, calculatorTextView.contentSize.height)];
myDisplayContent.text = @"My lengthy text ....";
[myScrollView addSubview:myDisplayContent];
// A la fin, définissez la taille du contenu de la « myScrollView » à la longueur totale de la zone d'affichage.
[myScrollView setContentSize:yPoint + heightOfLastComponent];
Cela fonctionne pour moi.
Merci beaucoup, Hannes .. Je pense pourquoi cela ne m'a pas frappé .. – neha
Vous libérez les vues que vous itérer à travers, ce qui les retire de la scrollview. Impossible de coller le code correctement dans le commentaire, ajouté comme réponse à la place. –