zauważyłem, że ten kod nie bardzo działa zgodnie z oczekiwaniami na iOS 11, ponieważ „adjustedContentInset” zmiany wartości nieruchomości jak „navigationBar” kurczy się podczas przewijania:iOS 11: Przewiń do góry, gdy zmieni się "adjustContentInset" z większymi paskami tytułu?
CGFloat contentInsetTop=[scrollView contentInset].top;
if (@available(iOS 11.0, *))
{
contentInsetTop=[scrollView adjustedContentInset].top;
}
////
[scrollView setContentOffset:CGPointMake(0, -contentInsetTop) animated:YES];
... Na przykład może to zacząć się jako 140
, a następnie zmniejszyć do 88
poza minimalnym przesunięciem przewijania. Oznacza to, że jeśli to nazwiesz, nie przewinie się on do samej góry.
Oprócz zachowaniem oryginalnego offsetu w pamięci od momentu UIScrollView
obciążeń, czy istnieje sposób, aby odzyskać tę wartość później w celu zapewnienia, że robi rzeczywiście przewijania do góry konsekwentnie, bez względu na „adjustedContentInset”?