I fixed this problem by adding the following to the end of viewDidLoad:
scrollViewObj.contentInset = UIEdgeInsetsMake (0, 0, self.view.bounds.size.height * 2, 0);
The order of parameters: top, left, bottom, right. The experiment shows that the bottom edge insert should be set to a value greater than the height of the content. Other mounting inserts work best when set to 0.
source share