Ich versuche, eine benutzerdefinierte Aktivität zu den Standardaktivitäten (Print, Mail, FaceBook, etc.) zu implementieren, aber jetzt nur den Standarddruck (für AirPrint) und meinen eigenen benutzerdefinierten Druck durch eine direkte Methode. Ich vermisse offensichtlich etwas Grundlegendes, da keine der Methoden in meiner benutzerdefinierten Klasse jemals aufgerufen wird. Fürs Erste habe ich nur eine NSLog-Anweisung, um die aufrufende Sequenz herauszufinden und das Framework zum Funktionieren zu bringen.
Der folgende Code ist mein Test für die benutzerdefinierte Aktivitätsklasse:
%Vor%Und die .m
%Vor%Und das ist der Aufruf in der Hauptroutine:
%Vor%Wie gesagt, keine der Methoden in der benutzerdefinierten Klasse wird aufgerufen, aber die Symbole für E-Mail, Nachricht und Kopie werden im Aktivitätsblatt und nicht im Drucken-Symbol angezeigt. Ich erwartete nur das System Print-Symbol (und mein eigenes).
Wenn ich den oberen Block der Anweisungen auskommentiere (und die NSArray * activityItems ............) weiter unten auslasse, werden die Symbole für E-Mail, Nachricht, Drucken und Kopieren des Systems angezeigt. In diesem Experiment denke ich, dass ich verschiedene Methoden mische, indem ich meinen eigenen Formatierer erstelle, aber das schien der Vorschlag auf der WWDC 2012 zu sein?
Wenn ich die Zeile mit 'excludeActivityTypes' auskommentiere, erhalte ich nur das Symbol Drucken des Systems.
Ich würde jede Eingabe begrüßen, die mir hilft, dies herauszufinden.
Und wenn jemand einen Beispielcode kennt, um das zu tun, was ich will, wäre das großartig.
Bearbeiten: Aktualisierter Code in meinen Arbeitscode.
Ich habe meine Haare über die UIActivity gezogen und auch diesen letzten Tweek, es muss wirklich besser von Apple erklärt werden und mehr Features hinzugefügt haben; Versuchen Sie Folgendes:
PrintActivity.h
%Vor%PrintActivity.m
%Vor%Vergessen Sie nicht, auch diese zwei Dateien zu erstellen:
PrintProvider.h
%Vor%PrintProvider.m
%Vor%Jetzt können wir es endlich nennen:
%Vor%Danke für Ihre Hilfe, Jungs! Und für das Aktivitätsbild scheint es, als müssten wir folgendes Bild von Apple-Dokumenten bereitstellen:
Der Alphakanal des Bildes wird als Maske verwendet, um das Bild zu erzeugen endgültiges Bild, das dem Benutzer präsentiert wird. Beliebige Farbdaten im Bild selbst wird ignoriert. Opaque Pixel haben einen Farbverlauf auf und Dieser Farbverlauf wird dann auf einen Standardhintergrund gelegt. Also, a ein vollständig undurchsichtiges Bild würde ein mit einem Gradienten gefülltes Rechteck ergeben. Zum iPhone und iPod touch, Bilder sollten nicht größer als 43 x 43 Punkte sein (Dies entspricht 86 mal 86 Pixel für Geräte mit Retina-Displays.) Für iPad sollten Bilder nicht größer als 55 x 55 Punkte sein entspricht 110 mal 110 Pixel für iPads mit Retina-Displays.)
Tags und Links ios android-activity uiactivity