Je suis en train d'essayer quelque chose de très simple mais d'une manière ou d'une autre je n'arrive pas à le faire fonctionner. Tout ce que j'essaie de faire, c'est de passer entre 2 View Controllers en utilisant un UISegmentedControl comme vous pouvez le voir par exemple dans l'application App Store dans l'onglet Highlights.
Je suis en train d'utiliser iOS5 et les Storyboards.
Voici mon agencement dans Storyboard:
J'ai donc un root View Controller et deux UITableViews - Ces 2 TableViews je veux les changer.
Voici à quoi ressemble le fichier d'implémentation
#import "SegmentedLocationViewController.h"
#import "PastEventsLocationViewController.h"
#import "FutureEventsLocationViewController.h"
@interface SegmentedLocationViewController()
@property (weak, nonatomic) IBOutlet UISegmentedControl *segmentedControl;
@property (strong, nonatomic) NSArray *viewControllers;
@end
@implementation SegmentedLocationViewController
@synthesize segmentedControl = _segmentedControl;
@synthesize viewControllers = _viewControllers;
- (IBAction)indexDidChangeForSegmentedControl:(UISegmentedControl*)segmentedControl
{
NSLog(@"index: %d", segmentedControl.selectedSegmentIndex);
}
- (void)setupViewControllers
{
PastEventsLocationViewController *pastEventsLocationViewController = [[PastEventsLocationViewController alloc] initWithStyle:UITableViewStylePlain];
FutureEventsLocationViewController *futureEventsLocationViewController = [[FutureEventsLocationViewController alloc] initWithStyle:UITableViewStylePlain];
self.viewControllers = [NSArray arrayWithObjects:pastEventsLocationViewController, futureEventsLocationViewController, nil];
}
- (void)setupUI
{
[self.segmentedControl addTarget:self action:@selector(indexDidChangeForSegmentedControl:) forControlEvents:UIControlEventValueChanged];
}
// Mise en œuvre de viewDidLoad pour effectuer des réglages supplémentaires après le chargement de la vue, généralement à partir d'un nib.
- (void)viewDidLoad
{
[super viewDidLoad();
[self setupViewControllers();
[self setupUI();
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return YES;
}
Je peux déclencher l'événement de changement et enregistrer l'index actuellement sélectionné. Mais je n'ai aucune idée de où aller à partir de là.
Peut-être que quelqu'un peut m'orienter dans une certaine direction...?
1 votes
Avez-vous pensé à simplement recharger le tableView avec des valeurs différentes?
0 votes
Tu as raison. Je vais vérifier ça maintenant. Je pourrais penser trop compliqué...