2010-08-28 6 views
0

J'ai une vue de table, dans cette vue de table je suis en train de mettre en place un en-tête de section, que je veux contenir un bouton d'édition. Je sais qu'il existe un support intégré pour quelque chose comme ça si mon viewcontroller fait partie d'une chaîne de navigation, mais est-il possible de le faire sans cela, ou la seule option est de définir un bouton manuellement et de déclencher une action remplacer le titre et la propriété d'édition? btw - Je sais que le code que j'ai écrit ci-dessous est faux, je me demandais simplement s'il existe un moyen pratique de convertir un UIBarButtonItem en UIButton. MerciComment initialiser un bouton en utilisant editButtonItem

-(UIView*) headerView 
{ 
    if (headerView) 
     return headerView; 

    float w = [[UIScreen mainScreen] bounds].size.width; 
    CGRect headerViewFrame = CGRectMake(0,0, w,48); 
    headerView = [[UIView alloc] initWithFrame:headerViewFrame]; 

    [headerView addSubview:[self editButtonItem]]; // I want to do something like that 
} 

Répondre

1

Il n'existe aucun moyen de convertir un UIBarButtonItem en un UIButton. Si vous regardez chacune de leurs superclasses, vous trouverez que UIBarButtonItem hérite de UIBarItem qui hérite de NSObject (pas du tout lié à UIButton qui provient de UIView et est conforme au protocole UIResponder).

Pour ce problème spécifique, vous pouvez remplacer la méthode suivante:

- (void) setEditing:(BOOL)editing animated:(BOOL)animated { 
    [super setEditing: editing animated: animated]; 
    [self.tableView setEditing:editing animated:animated]; 
} 

et un bouton (vous pouvez l'utiliser comme vue d'en-tête de section) déclenchent une méthode qui définit l'état d'édition

+0

C'est ce que J'ai écrit dans ma réponse. cherchait des alternatives. merci tho. – Idan

+0

Pas de problème, je voulais juste vous donner un petit aperçu de la structure de l'héritage de UIBarButtonItem et UIButton afin qu'il soit clair pourquoi vous ne pouvez pas les "convertir". – Chris

Questions connexes