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.

È stato utile?

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?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top