Я думаю, что ваша проблема связана с тем, что вы используете drawRect:
для вашего текста. Я уверен, что позиционирование, заданное аргументом CGRect, является абсолютным и не зависит от текущего смещения содержимого scrollView.
Вы добавили свои подпредставления (кнопки и текст) непосредственно в UIScrollView? Если вы это сделали, попробуйте вставить простой UIView в UIScrollView, который будет содержать все подпредставления. Должно быть что-то вроде этого:
-> UIScrollView
-> UIView
-> UIButtons
-> Text
-> ...
Таким образом, drawInRect:
нарисует текст, содержащий UIView, с абсолютной позицией, а UIScrollView выполнит прокрутку UIView (и, следовательно, всего его содержимого).