Создайте переменную с плавающей точкой, чтобы отслеживать y положение рамки метки и увеличивать ее каждый раз, когда добавляется метка (вам также потребуется настроить contentSize прокрутки, если все метки не соответствуют его рамке):
static CGFloat y = 100.0f;
do {
if ([[TBXML elementName:element] isEqualToString:@"wcqQuestionText"]) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(50, y, 200, 100)];
label.text = [TBXML textForElement:element];
[scrollView addSubview:label];
[label release];
[formulierText removeFromSuperview];
y += 100.0f;
}
// if the element has child elements, process them
if (element->firstChild)
[self traverseElement:element->firstChild];
// Obtain next sibling element
} while ((element = element->nextSibling));
P.S. Рассматривали ли вы использование стандартного UITableView вместо собственного UIScrollView?