Scroll aktuelle Position in iPhone
-
05-07-2019 - |
Frage
Angenommen habe ich eine Scroll-Ansicht in einer Ansicht und Größe einer Scroll-Ansicht ist 320 Breite 2000 Höhe.
Wenn der Benutzer scrollt & Verlangsamungs stoppt, ich möchte wissen, wo ein Scroll-Ansicht zum Stillstand gekommen ist?
d. bei 300px oder 400px oder 600px.
Lösung
Mit scrollview.contentOffset.
Andere Tipps
können Sie das afeter Scrollen verfolgen, was die von der Koordinatenursprung ist, die folgenden zwei Methoden verwenden. Dies sind zwei Delegatmethoden passt sich an Ihre UIScrollView-Klasse.
-
(void)scrollViewDidEndScrollingAnimation:(UIScrollView *)newScrollView
{
NSLog(@"scrollViewDidEndScrollingAnimation");
CGPoint p = scrollView.contentOffset;
int curr= floor(p.x/320);
NSLog(@"x=%f,y=%f,curr=%d",p.x,p.y,curr);
}
- (void)scrollViewDidEndDecelerating:(UIScrollView *)newScrollView
{
[self scrollViewDidEndScrollingAnimation:newScrollView];
}
Wenn die Scroll-Ansicht scrollt getan, es einige Ereignisse seiner UIScrollViewDelegate
feuert:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Sie können diese Methoden in den Delegaten implementieren die neue contentOffset
Ihrer UIScrollView
, um herauszufinden:
@property(nonatomic) CGPoint contentOffset
Sie können herausfinden, wo jede Ansicht durch einen Blick auf seinem Rahmen rect seine Super relativ befindet. Was versuchst du zu machen?