Wie funktioniert contentOffset und contentInset Arbeit für UIScrollView in iOS 7?

Dies ist mein Verständnis über UIScrollView (iOS 7):

  • contentOffset definiert den Ursprung des Inhalts-Ansicht
  • contentInset effektiv hinzufügen können "Polsterung" um den Inhalt anzuzeigen

In Xcode habe ich eine single-view-Anwendung. Bei der IB habe ich noch eine UIScrollView auf den view-controller-und embedded-controller in einem navigation controller. In der view-controller-code, habe ich noch folgende Methode:

- (void)viewDidAppear:(BOOL)animated
{
    [self.scrollView setContentSize:CGSizeMake(380, 1000)];
    NSLog(@"top = %f, bounds top %f", self.scrollView.frame.origin.y, self.scrollView.bounds.origin.y);
    NSLog(@"offset y = %f", self.scrollView.contentOffset.y);
    NSLog(@"height = %f", self.scrollView.contentSize.height);
    NSLog(@"inset top = %f", self.scrollView.contentInset.top);
    NSLog(@"inset bottom = %f", self.scrollView.contentInset.bottom);
}

Meine Ergebnisse:

top = 0.000000, bounds top -64.000000
offset y = -64.000000
height = 1000.000000
top = 64.000000
bottom = 0.000000

Den contentInset.top Wert effektiv, verschiebt sich der content nach unten, sodass es unterhalb der Navigationsleiste. Warum ist contentOffset.y wird von "-64, und die Grenzen des scroll-view wird von" -64?

Vielen Dank im Voraus

Ich bin nicht in der Lage um dieses Problem zu reproduzieren. Machst du [self.scrollView setContentOffset:CGPointMake(0, -64)]; oder etwas, das Sie tun könnten?
Vielen Dank für die überprüfung dieses heraus. Ich wusste nicht fügen Sie in der setContentOffset. Auch, wenn ich entfernen Sie die view-controller navigation controller, bekomme ich die Nullen für die Begrenzung oben, offset-y, und die oben aufgeführten Werte in meine Ergebnisse.
die xcode version? (bitte nur)
Ich bin mit 5.1.1. Ich habe auch versucht, den Bau einer neuen app, und bin immer die gleichen Ergebnisse.
hm... das Projekt freigeben und ich nehme einen Blick.

InformationsquelleAutor applegal | 2014-05-02

Schreibe einen Kommentar