Лучшее решение, которое я нашел (в противном случае разочаровывающая проблема, которая должна была быть решена в рамках), аналогично решению Вейчика.
Просто установите количество строк равным 0 в IB или коде
myLabel.numberOfLines = 0;
При этом отобразятся необходимые строки, но метка будет смещена по центру по горизонтали (чтобы метка из 1 строки и 3 строки была выровнена по горизонтали). Чтобы исправить это, добавьте:
CGRect currentFrame = myLabel.frame;
CGSize max = CGSizeMake(myLabel.frame.size.width, 500);
CGSize expected = [myString sizeWithFont:myLabel.font constrainedToSize:max lineBreakMode:myLabel.lineBreakMode];
currentFrame.size.height = expected.height;
myLabel.frame = currentFrame;