0

Dans HMSegmentControl, j'ai ajouté tableview dans l'un des segments View. Quand je suis sur la section en cours et que je défile vers le haut ou vers le bas, j'ai remarqué que le surligneur de l'onglet passe toujours à 0. Pourquoi cela se produit-il?hmsegmentedcontrol - Lorsque je défile, le surligneur de tabulation passe toujours à 0. pourquoi?

Ceci est mon code ScrollView:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView 
{ 
    CGFloat pageWidth = scrollView.frame.size.width; 
    int page = scrollView.contentOffset.x/pageWidth; 
    [self.chatSegment setSelectedSegmentIndex:page animated:YES]; 
    NSLog(@"scrollViewDidScroll - You are now on page %i",page); 
} 

Connexion Valeur:

<UITableView: 0x128007e00; frame = (0 0; 320 568); clipsToBounds = YES; tag = 502; gestureRecognizers = <NSArray: 0x1276c2690>; layer = <CALayer: 0x1276c20e0>; contentOffset: {0, 2}; contentSize: {320, 570}> 
+0

nous ne savons pas ce qu'est HMSegmentedControl! Avez-vous connecté la valeur de la page? Est-ce 0 pendant que vous faites défiler? –

+0

Je deviens scrollView.contentOffset.x comme 0. – Balasubramanian

+0

et cela fait le segment pour sélectionner l'index 0. Demandez-vous pourquoi obtenez-vous 0 pour scrollView content offset? –

Répondre

1

Lorsqu'une table défile dans le sens vertical, la valeur y décalage sera modifiée, la valeur de x sera toujours 0 .

donc, en vous cas, vous devez vous référer à scrollView.contentOffset.y

+0

Merci beaucoup! Cela a fonctionné – Balasubramanian