Zeigt einen NSSharingServicePicker auf MouseUp

9

Ich füge die Freigabe meiner App hinzu (Targeting Mavericks, 10.9), die ich so verwenden möchte:

  1. Der Nutzer klickt auf die Schaltfläche "Teilen"
  2. Cursor wechselt zum Fadenkreuz
  3. Der Benutzer zieht eine Auswahl dessen, was er teilen möchte
  4. NSSharingServicePicker wird angezeigt, sodass der Benutzer den Dienst auswählen kann, der mit
  5. geteilt werden soll

Ich beende das mit den Ereignissen -mouseDown: , -mouseDragged: und -mouseUp: . mouseDown beginnt mit der Auswahl, mouseDragged liefert eine Rückmeldung über den ausgewählten Bereich, und mouseUp schließt den Ziehvorgang ab und zeigt den Picker an. Jedes Mal aber bekomme ich das auf die Konsole geschrieben:

%Vor%

Ich verstehe nicht, warum das ein Problem wäre, es sei denn, Sie zeigten es durch einen Mausklick mit der Maus an. Sollte ich die Nachricht ignorieren? Ich habe versucht, es mit dispatch_async und dispatch_after zu zeigen, um es außerhalb des Aufrufs des Ereignisses auszuführen, aber sie haben nicht funktioniert. Ich nehme an, ich könnte es ignorieren, aber lässt das die Tür offen stehen?

    
Dov 25.06.2014, 13:20
quelle

1 Antwort

1

Ich weiß, das ist ein Jahr zu spät, aber,
Ich hatte das gleiche Problem. Nach ein paar Recherchen kam ich mit dieser Antwort zurück. Bevor ich diesen Code implementierte, drehte sich meine Schaltfläche eine Weile und kehrte dann mit demselben Fehler zurück, den Sie hatten. Wenn ich jetzt auf meine Freigabe-Schaltfläche klicke, wird sie nicht mehr verzögert und gibt keinen Fehler zurück. Fügen Sie dies in die awakeFromNib -Methode Ihrer App ein: [yourShareButtonName sendActionOn:NSLeftMouseDownMask]; . So sollte Ihr Code aussehen:

%Vor%

Ich hoffe, das hilft!

    
SGP 27.10.2015 00:49
quelle

Tags und Links