В основном я сделал кучу математик в scrollViewDidScroll:
и установил рамку подпредставления.
Edit:
Ну, мои точные требования немного отличались от вопроса, который я задал, у меня есть нижний колонтитул, а не заголовок. В основном в scrollViewDidScroll у меня есть:
CGRect frame = self.footerView.frame;
frame.origin.y = MIN(self.bounds.size.height -
self.footerView.frame.size.height +
self.contentOffset.y,
self.contentSize.height);
self.footerView.frame = frame;
Это гарантирует, что представление нижнего колонтитула, которое является подпредставлением представления прокрутки, всегда отображается в нижней части представления прокрутки, и между панелью нижнего колонтитула и нижней частью представления содержимого никогда не бывает зазора.