Je recherche de l'aide pour un programme que je développe. Fondamentalement, il contient deux vues. La première vue a un bouton et une action associée me conduit à ma vue suivante où il y a une vue défilante pour trois pages (comme dans l'exemple PageControl donné par apple.) J'utilise le contrôleur de navigation pour pousser la vue depuis le premier vue à la deuxième vue. Mais en poussant je ne suis pas capable de faire défiler la page ou d'utiliser le contrôle de page ou quoi que ce soit. Il vient juste une vue normale. Le code est le même que le code pageControl et fonctionne comme un module séparé. Mais quand je veux intégrer ce code pageControl avec une première vue et un bouton de clic cela ne fonctionne pas. S'il vous plaît aider.Impossible de créer une vue avec un UIScrollView
// cette fonction est un jeu d'action sur un bouton dans le rootviewcontroller.
-(IBAction) viewScrollPages:(id)sender{
UIViewController *controller = [[MyViewController alloc] initWithPageNumber:0];
[self.navigationController pushViewController:controller animated:NO];
[controller release];
}
- (id)initWithPageNumber:(int)page {
if (self = [super initWithNibName:@"MyViewController" bundle:nil]) {
pageNumber = page;
}
return self;
}
- (void)viewDidLoad {
NSMutableArray *controllers = [[NSMutableArray alloc] init];
for (unsigned i = 0; i < kNumberOfPages; i++) {
[controllers addObject:[NSNull null]];
}
self.viewControllers = controllers;
[controllers release];
// a page is the width of the scroll view
scrollView.pagingEnabled = YES;
scrollView.contentSize = CGSizeMake(scrollView.frame.size.width * kNumberOfPages, scrollView.frame.size.height);
scrollView.showsHorizontalScrollIndicator = NO;
scrollView.showsVerticalScrollIndicator = NO;
scrollView.scrollsToTop = NO;
scrollView.delegate = self;
pageControl.numberOfPages = kNumberOfPages;
pageControl.currentPage = 0;
// pages are created on demand
// load the visible page
// load the page on either side to avoid flashes when the user starts scrolling
[self loadScrollViewWithPage:0];
[self loadScrollViewWithPage:1];
pageNumberLabel.text = [NSString stringWithFormat:@"Page %d", pageNumber + 1];
self.view.backgroundColor = [MyViewController pageControlColorWithIndex:pageNumber];
[super viewDidLoad];
}
Un code peut nous aider à comprendre votre problème. Post le code où vous créez et poussez le contrôleur de vue qui doit contenir la vue de défilement et 'viewDidLoad' dans ce contrôleur de vue ... –
J'ai ajouté le code. C'est fondamentalement le même code que l'exemple pageControl donné par apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html. La modification dont j'ai besoin est la suivante: au lieu de lancer les pages de défilement dès que l'application est lancée, je demande qu'elle soit affichée seulement après un clic sur un bouton. Merci pour votre réponse. Appréciez-le grandement. – Viraj
J'ai ajouté le code. C'est le même que l'exemple de Pagecontrol donné par apple http://developer.apple.com/iphone/library/samplecode/PageControl/Introduction/Intro.html. La seule modification dont j'ai besoin est qu'au lieu des pages de défilement arrivant dès que l'application se lance, elle devrait venir après le clic d'un bouton ou quelque chose. Merci pour votre réponse, appréciez-le. – Viraj