Я пробовал несколько обходных путей для одной и той же проблемы, и, похоже, setContentOffset не работает для UIVebView. Что-то всегда сбрасывается в (0,0).
Наконец, свойство setContentInset мне очень помогло:
[self.webView.scrollView setContentInset:UIEdgeInsetsMake(0.0, 0.0, 0.0, 160.0)];
Затем используйте UIWebViewDelegate и установите смещение содержимого в методе:
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
[self.webView.scrollView setContentOffset:CGPointMake(160, 0)];
}