Po zastosowaniu tych rozwiązań nadal miałem problemy. Wydaje się, że problem zdecydowanie dotyczy posiadania przezroczystych pasków nawigacji i automatycznego dostosowywania wstawek zawartości na kontrolerze widoku. Jeśli nie zależy Ci na przewijaniu tekstu pod paskiem nawigacyjnym, najlepiej pozostawić te ustawienia wyłączone i ograniczyć górną część widoku tekstu do dołu paska nawigacyjnego, a nie do góry kontrolera widoku.
Jeśli tak jak ja chciałeś, aby pojawiał się pod twoim paskiem nawigacyjnym podczas przewijania w dół; wtedy rozwiązaniem, które zadziałało, było dodanie tego.
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
CGFloat offset = self.navigationController.navigationBar.frame.size.height+[UIApplication sharedApplication].statusBarFrame.size.height;
[self.textView setContentOffset:CGPointMake(0, -offset) animated:NO];
}
To tylko szuka wysokości paska nawigacji i paska stanu i odpowiednio dostosowuje przesunięcie zawartości.
Zwróć uwagę, że jedną wadą tego podejścia jest to, że gdy urządzenie się obraca, przewijasz z powrotem do góry.