Mountain Lion offre un pulsante incorporato condivisione che rivela un menu di servizi di condivisione appropriato per l'applicazione:Come mostrare il pulsante di condivisione in Mountain Lion?
Come posso inserirla nella mia app?
Mountain Lion offre un pulsante incorporato condivisione che rivela un menu di servizi di condivisione appropriato per l'applicazione:Come mostrare il pulsante di condivisione in Mountain Lion?
Come posso inserirla nella mia app?
Per aggiungere il pulsante di condivisione su Mountain Lion:
1) Aggiungere un NSButton
chiamati, per esempio, shareButton
.
2) aggiungere l'immagine standard per questo pulsante:
3) Into the "azione sul click", presenterà il NSSharingServicePicker
:
NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:urls];
sharingServicePicker.delegate = self;
[sharingServicePicker showRelativeToRect:[sender bounds]
ofView:sender
preferredEdge:NSMinYEdge];
4) Alla fine, implementare i metodi NSSharingServicePickerDelegate
per personalizzare i servizi disponibili del selettore.
Si noti che se si sta cercando di aggiungere questo pulsante tramite Interface Builder:
Non mi sembra corretto in XCode, ma funziona correttamente durante l'esecuzione.
PS - Questo sembra essere un caso in cui you need to use the System Icon string value (NSShareTemplate) anziché la costante (NSImageNameShareTemplate).
In Swift, ho usato questo:
extension NSSharingService {
class func shareContent (content: [AnyObject], button: NSButton) {
let sharingServicePicker = NSSharingServicePicker (items: content)
sharingServicePicker.showRelativeToRect(button.bounds, ofView: button, preferredEdge: NSRectEdge.MaxY)
}
}
come si usa? – user1374
sconsiglia l'utilizzo di IB per impostare l'immagine. Funziona solo quando lo si imposta tramite codice. Inoltre, aggiungere anche la seguente riga in seguito: "[shareButton sendActionOn: NSLeftMouseDownMask];" – Arvin