Sous-Programme Nssharingservice Sharing
Comment puis-je ajouter le sous-menu de partage dans une application Mac? Un exemple est Safari > File > Share. J'ai fourré à l' Apple SharingServices exemple de code, mais il n'inclut pas un élément de menu de travail.
en ce moment, j'ai un bouton qui affiche un picker des services de partage disponibles quand il est activé:
NSMutableArray *shareItems = [NSMutableArray arrayWithObject:[self.noteSynopsisView string]];
NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:shareItems];
sharingServicePicker.delegate = self;
[sharingServicePicker showRelativeToRect:[self.shareButton bounds] ofView:self.shareButton preferredEdge:NSMaxYEdge];
j'ai aussi défini un sous-menu de partage dans le menu Fichier pour mon MainWindow.xib.
si je comprends bien, l' La liste NSSharingService est générée à la volée. Donc je ne peux pas vraiment prédéfini les services à l'élément de menu que j'ai créé dans Interface Builder.
Merci pour votre aide.
2 réponses
regardez Nssharingservice's +sharingServicesForItems:. Dans a-validateMenuItem: method vous pouvez créer un sous-menu en utilisant le-titre et l'image des NSSharingServices qu'il renvoie. Associez chaque service à chaque élément de menu, et pointez l'action de chaque élément de menu à ceci:
- (IBAction)shareFromService:(id)sender {
[[sender representedObject] performWithItems: arrayOfItemsToShare];
}
C'est vraiment très simple. Apple a fait du bon travail sur celui-ci.
je trouve l'essentiel de l'information peut vous aider à créer facilement un sous-menu des services appropriés. https://gist.github.com/eternalstorms/4132533
c'est une catégorie NSSharingServicePicker.