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-AnsichtcontentInset
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
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.
[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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Weil die
automaticallyAdjustsScrollViewInsets
Standardwert istYES
in iOS 7.0.UIViewController-Klasse Referenz
InformationsquelleAutor Lei Kan