2010-01-11 6 views
0

Je sais comment changer la couleur de mon titre de barre de navigation mais quand j'écris ce code:changement de couleur de titre barre de navigation

UILabel * label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,45,45)] autorelease]; 
label.textColor = [UIColor yellowColor]; 
label.backgroundColor=[UIColor clearColor]; 
self.navigationItem.titleView = label; 
[email protected]"Title"; //CUSTOM TITLE 
[label sizeToFit]; 

Je veux que ma barre de navigation pour afficher le titre de la cellule, pas de titre personnalisé.

Voici mon avis de table Code:

-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section 
{ 
    return ghazalList.count; 
} 

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
    static NSString *SimpleTableIdentifier = @"SimpleTableIdentifier"; 

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

    NSUInteger row = [indexPath row]; 
    cell.textLabel.text = [ghazalList objectAtIndex:row]; 
    return cell; 
} 
+0

Voulez-vous dire que vous voulez que le titre de la barre de navigation change lorsqu'une cellule est sélectionnée? – gerry3

+0

NO. quand je veux changer la couleur du titre et écrire le code suivant: label.text = @ "Title"; ce code a changé mon titre de cellule sélectionné .. je veux seulement changer la couleur pas le titre – Momi

+0

Si vous ne voulez pas le titre personnalisé, alors n'écrivez pas 'label.text = @" Titre "; // TITRE PERSONNALISÉ ?? Je pense que je ne vous comprends pas correctement ... –

Répondre

0

@Adam:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 
if (!anotherViewController) { 
    anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherViewController" bundle:nil]; 
    anotherViewController.navigationItem.title=[ghazalList objectAtIndex:indexPath.row]; 
    [self.navigationController pushViewController:anotherViewController animated:YES]; 
    [anotherViewController loadGhazal:indexPath.row]; 

}else { 
    [anotherViewController loadGhazal:indexPath.row]; 
    anotherViewController.navigationItem.title=[ghazalList objectAtIndex:indexPath.row]; 
    [self.navigationController pushViewController:anotherViewController animated:YES]; 
} 

}

i créat un poème demande donc, j'ai 495 cellules et 495 fichier HTML [poèmes]. chaque cellule [POEM 1 à 495] a un cône spécial. tout fonctionne bien mais, cette foutue couleur de titre me rend fou ... je mets ton code la couleur a changé mais le titre est changé en Poème 5!

+0

OK, il semble donc que vous poussez un autre contrôleur sur le contrôleur de navigation et définissez le titre de son élément de navigation. Essayez d'expérimenter avec la ligne 'label.text = self.navigationItem.title;' de sorte que vous définissiez le titre basé sur le 'anotherViewController.navigationItem.title', pas' self' (je ne savais pas ce que 'self' était dans le code dans votre question, je ne sais pas dans quelle méthode il est, dans quelle classe) –

+0

j'ai essayé avec cette ligne anotherViewController.navigationItem.title mais j'ai eu l'erreur qui non déclarée (d'abord utiliser cette fonction) – Momi

+0

Adam plz aide moi mon application a été terminée je suis juste en attente pour cela! – Momi

1

En fonction de votre explication, essayez

UILabel * label = [[[UILabel alloc] initWithFrame:CGRectMake(0,0,45,45)] autorelease]; 
label.textColor = [UIColor yellowColor]; 
label.backgroundColor = [UIColor clearColor]; 
label.text = self.navigationItem.title; 
self.navigationItem.titleView = label; 
[label sizeToFit]; 
+0

merci adam, ça marche: D mais a quand même un petit problème si je choisis une cellule le titre est Cell 5! Pourquoi ? si je choisis la cellule 46 le titre est la cellule 5 ou n'importe quel nombre! – Momi

+0

Implémentez-vous 'tableView: didSelectRowAtIndexPath:' dans 'UITableViewDelegate'? Qu'est ce que ça fait? –

+0

voir la réponse ci-dessous: – Momi

Questions connexes