Question

J'ai créé une nouvelle application iPhone de navigation à. J'ajouté à la RootViewController.

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] init];
self.navigationItem.leftBarButtonItem = addButton;
self.navigationItem.leftBarButtonItem.enabled = YES;
}

Aucun bouton gauche affiche cependant. Y at-il quelque chose que je dois faire?

Était-ce utile?

La solution

Vous ne définissez pas ce que le bouton ne fait. Ceci est une ligne de mon application:

self.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(cancelEdit:)];

cancelEdit:, le sélecteur est dans la classe de courant (auto-) et est définie comme suit:

- (void) cancelEdit: (id) sender;

Autres conseils

Il est en fait une autre réponse, qui ne figure pas ici, mais peut-être très utile dans de nombreux cas. Si vous ne veulent pas utiliser UINavigationController , puis self.navigationItem est pas une option pour vous.

UIBarButtonItem *barButton = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"imageName"] style:UIBarButtonItemStyleBordered target:self action:@selector(action:)];
UINavigationItem *navigationItem = [[UINavigationItem alloc] initWithTitle:@"Bar Title"];
navigationItem.leftBarButtonItem = barButton;
[navigationBar pushNavigationItem:navigationItem animated:NO];

Vous voudrez peut-être que lors de la création UIViewController légère avec un bar et des boutons, mais ne veulent pas en tête de navigation.

Sur cette question:

  

Impressionnant, merci. Où trouvez-vous la   différents sélecteurs disponibles? Le document   est très vague à ce sujet. Je définissais une   Procédé instance et mettre ce que le   sélecteur mais il n'a jamais été exécuté.   Je voudrais glisser dans un detailview lorsque   clique sur le bouton. - 4thSpace février   19 à 16:19

Je vais l'endroit où je besoin de plus d'informations et appuyez sur la touche d'échappement (Esc). Ainsi, dans cet exemple:

...(beginning of line)... @selector(Place Cursor Here, press Esc) ...

Une liste des sélecteurs disponibles apparaîtra. Pour les programmeurs Microsoft, c'est comme IntelliSense, mais vous devez demander avec Esc (ça ne semble pas automatiquement comme dans Visual Studio). En pratique, XCode ne crée plus de ce que vous essayez de créer quand vous commencez à taper et cela aide vraiment quand vous figurez sur la touche Tab est votre ami. (Bien ... il est my ... ami ayant la vie solitaire que j'ai)

Maintenant, si vous avez besoin de votre propre sélecteur, vous pouvez placer votre étiquette là-bas ( mySelector : par exemple), puis, plus bas dans votre code, construire:

- (IBAction)mySelector:(id)sender {
NSLog(@"You touched me THERE!");
}

En outre, dans l'en-tête fichier (.h), assurez-vous de mettre un correspondant:

-(IBAction) mySelector:(id)sender;

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top