UIScroll visualizza la posizione corrente in iPhone
-
05-07-2019 - |
Domanda
Supponiamo che io abbia una vista di scorrimento in una vista & amp; le dimensioni di una vista di scorrimento sono 320 larghezza, altezza 2000.
Quando l'utente scorre & amp; rallentamenti, voglio sapere dove si è fermata una vista di scorrimento?
vale a dire. a 300px o 400px o a 600px.
Soluzione
Usa scrollview.contentOffset.
Altri suggerimenti
puoi rintracciarlo dopo lo scorrimento, qual è la coordinata dell'origine, usando i due metodi seguenti. Questi sono due metodi delegati conformi alla tua classe UIScrollView.
-
(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];
}
Al termine dello scorrimento, la vista di scorrimento genera alcuni eventi al suo UIScrollViewDelegate
:
- (void)scrollViewDidScroll:(UIScrollView *)scrollView
- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView
Puoi implementare questi metodi nel delegato per scoprire il nuovo contentOffset
del tuo UIScrollView
:
@property(nonatomic) CGPoint contentOffset
Puoi scoprire dove si trova una vista in relazione alla sua superview guardando la sua cornice. Cosa stai cercando di fare?