2012-08-05 20 views

Respuesta

21

Para añadir el botón de compartir en Mountain Lion:

1) Añadir un NSButton llamados, por ejemplo, shareButton.

2) añadir la imagen estándar para este botón:

3) En la "acción de clic", presentará el NSSharingServicePicker:

NSSharingServicePicker *sharingServicePicker = [[NSSharingServicePicker alloc] initWithItems:urls]; 
sharingServicePicker.delegate = self; 

[sharingServicePicker showRelativeToRect:[sender bounds] 
              ofView:sender 
            preferredEdge:NSMinYEdge]; 

4) Finalmente, implemente los métodos NSSharingServicePickerDelegate para personalizar los servicios disponibles del selector.

1

Tenga en cuenta que si usted está tratando de añadir este botón a través de Interface Builder:

  1. Seleccione el botón
  2. Cambiar a Atributos inspector de
  3. Eliminar el botón Título
  4. Insertar: NSShareTemplate como el Nombre de la imágen.

No me parece correcto en XCode, pero funciona bien cuando se ejecuta.

PS: parece ser un caso en el que you need to use the System Icon string value (NSShareTemplate) en lugar de la constante (NSImageNameShareTemplate).

+0

no recomienda el uso del IB para establecer la imagen. Simplemente funciona al configurarlo a través de código. Además, también debería agregar la siguiente línea después: "[shareButton sendActionOn: NSLeftMouseDownMask];" – Arvin

0

En Swift, he utilizado esto:

extension NSSharingService { 
    class func shareContent (content: [AnyObject], button: NSButton) { 
     let sharingServicePicker = NSSharingServicePicker (items: content) 

     sharingServicePicker.showRelativeToRect(button.bounds, ofView: button, preferredEdge: NSRectEdge.MaxY) 
    } 
} 
+0

cómo usarlo? – user1374

Cuestiones relacionadas