2012-10-02 2 views
0

J'utilise un UIScrollView pour faire de la pagination et j'ai remarqué qu'aucune des vues suivantes ne sont appelées pour que leurs sources de données/délégués soient appelés. Je l'ai accroché dans leur XIB en tant que datasource/delegate ainsi que l'avoir dans le code pour être configuré de cette façon, mais il n'est toujours pas appelé.iOS - Scroll View/Paging Delegates/DataSource n'étant pas appelé

Je suppose que le problème est ici ... où je fais la radiomessagerie et insérez les 2e et 3e vues. Les deux délégués/datasource ne fonctionnent pas sur les vues 2 et 3 en cours de pagination.

requestDetailTwoViewController *controller = [viewControllers objectAtIndex:1]; 

requestDetailThreeViewController *controller2 = [viewControllers objectAtIndex:2]; 
if ((NSNull *)controller == [NSNull null]) 
{ 
    if(page == 1) 
    { 

     controller = [[requestDetailTwoViewController alloc] initWithRequestNumber:[request objectForKey:@"RequestID"] forID:self.employeeIDfromHome]; 
     [viewControllers replaceObjectAtIndex:page withObject:controller]; 
     CGRect frame = scrollView.frame; 
     frame.origin.x = frame.size.width * 1; 
     frame.origin.y = 0; 
     controller.view.frame = frame; 
     [scrollView addSubview:controller.view]; 
    } 
} 

if ((NSNull *)controller2 == [NSNull null]) 
{ 
    if(page == 2) 
    { 
     controller2 = [[requestDetailThreeViewController alloc] initWithRequestNumber:[request objectForKey:@"RequestID"]]; 
     [viewControllers replaceObjectAtIndex:page withObject:controller2]; 
     [self addChildViewController:controller2]; 
     CGRect frame = scrollView.frame; 
     frame.origin.x = frame.size.width * 2; 
     frame.origin.y = 0; 
     controller2.view.frame = frame; 
     [scrollView addSubview:controller2.view]; 
     [controller2 didMoveToParentViewController:self]; 
    } 

} 

MERCI!

Répondre

0

Dans votre classe, avez-vous défini l'indice pour le protocole comme

@interface myClass : UIViewController <UIScrollViewDelegate> { 
... 

Et plus tard, dans votre viewDidLoad:

self.myScrollView.delegate = self; 
Questions connexes