2010-05-06 6 views
0

J'essaie d'apprendre à utiliser différentes vues, pour cet exemple d'application de test, j'ai une page de connexion, lors de la connexion réussie, l'utilisateur est redirigé vers une vue de table, puis sur la sélection de un élément dans la vue de la table, l'utilisateur est dirigé vers une troisième page montrant les détails de l'élément. La première page fonctionne très bien, mais le problème se produit quand je vais à la deuxième page, la table montrée n'a pas de titre et je ne peux pas ajouter de titre ou de barre d'outils ou autre chose que le contenu des tables elles-mêmes. et quand je clique sur l'article, inutile de dire que rien ne se passe. pas d'erreurs aussi.Iphone SDK - ajouter UITableView à UIView

Je suis relativement novice en programmation et j'ai toujours travaillé sur Java mais jamais sur C (bien que j'aie des connaissances de base en C) et l'Objective C est nouveau pour moi.

Voici le code.

-(IBAction) login { 

RootViewController *rootViewController = [[RootViewController alloc] init]; 

if([username.text isEqualToString:@"test"]&&[password.text isEqualToString:@"test"]){ 
[window addSubview:[rootViewController view]]; 

[window makeKeyAndVisible]; 
} 

else { 
    loginError.text = @"LOGIN ERROR"; 
    [window addSubview:[viewController view]]; 
    [window makeKeyAndVisible]; 
} 
} 

@interface RootViewController : UITableViewController { 

IBOutlet NSMutableArray *views; 
} 

@property (nonatomic, retain) IBOutlet NSMutableArray * views; 

- (void)viewDidLoad { 

views = [ [NSMutableArray alloc] init]; 

OpportunityOne *opportunityOneController; 

for (int i=1; i<=20; i++) { 
    opportunityOneController = [[OpportunityOne alloc] init]; 
    opportunityOneController.title = [[NSString alloc] initWithFormat:@"Opportunity %i",i]; 

    [views addObject:[NSDictionary dictionaryWithObjectsAndKeys: 
         [[NSString alloc] initWithFormat:@"Opportunity %i",i], @ "title",      opportunityOneController, @"controller",      nil]]; 
    [email protected]"GPS"; 
} 

[super viewDidLoad]; 

} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier] autorelease]; 
} 

// Configure the cell. 

cell.textLabel.text = [[views objectAtIndex:indexPath.row] objectForKey:@"title"]; 

return cell; 
} 


- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

UIViewController *targetViewController = [[views objectAtIndex:indexPath.row] objectForKey:@"controller"]; 

[[self navigationController] pushViewController:targetViewController animated:YES]; 

} 

Wow, je trouvais ça vraiment difficile de poster le code. Je m'excuse pour la mauvaise mise en forme, mais je ne pouvais pas dépasser les règles de mise en forme pour cet éditeur de texte.

Merci, Shashi

+0

Ceci est trop de code pour les gens à regarder et encore moins à reformater. Travailler à travers des tutoriels plus simples et apprendre à affiner les problèmes et afficher uniquement le code pertinent. Si ce n'est pas assez d'informations, les gens demanderont plus. – DyingCactus

+0

Je pense que j'ai enlevé beaucoup de code inutile, laissez-moi savoir si je dois nettoyer plus. – Shashi

Répondre

0

Commencez par une application de navigation. Faites autant de contrôleurs de vue que nécessaire (3 par dessus). Poussez les contrôleurs de vue de l'un à l'autre selon vos besoins.

+0

J'essayais d'apprendre en utilisant l'application basée sur la fenêtre, je peux ajouter n'importe quel nombre de vues simples avec des boutons simples, pas de problèmes avec cela, mais seulement quand j'essaye de créer un UIView-> UITableView-> UIView j'ai des problèmes. dans la deuxième vue tout ce que je vois est la table, pas de titre, pas de barre d'outils rien. Je pourrais créer une application basée sur la navigation où j'avais un UITableView -> UIView, qui a fonctionné très bien. – Shashi

Questions connexes