2009-05-24 8 views
9

Ich möchte die standardmäßigen UIBarButtonItem-Symbole aus dem iPhone SDK extrahieren. Ich kann mir vorstellen, dass sie wahrscheinlich in der iPhoneSimulator-Plattform als PNGs für den Alpha-Kanal gespeichert sind, aber ich muss sie noch finden.Wie extrahiert man UIBarButtonItem Icons vom iPhone SDK?

Der, den ich suche, ist UIBarButtonSystemItemReply. (Für diejenigen, die verdächtig sind, dass es sogar einen gültigen Anwendungsfall dafür gibt, möchte ich dies in einer Tabellenzeilenüberschrift verwenden, wo der Benutzer zeilenweise antworten kann)

Antwort

4

Die Other.artwork-Datei befindet sich in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/ (Sie benötigen das SDK).

Verwenden Sie die „iPhoneShop-1.3.jar“ Programm - verfügbar derzeit here alle Bilder in einem Verzeichnis zu extrahieren.

java -jar iPhoneShop-1.3.jar ARTWORK Other.artwork EXPORT Other 
+1

Sehen Sie hier für ein anderes Tool, das mit iOS 4.3 Dateien https://github.com/davepeck/iphone-tidbits/tree/master/iOS-artwork arbeitet – sdsykes

+1

Wie in meinem Kommentar erwähnt in die nicht akzeptierte Antwort unten, ich tat: im Ordner /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/D eveloper/SDKs, ich habe: 'finden. -iname "* .png *" -print0 -exec cp {} ~/tmp \; ' – fatfreddyscat

1

Ich weiß nicht, wie ich das machen soll Aber ich war vor ein paar Monaten neugierig auf das Gleiche. Sie können dieses UIBarButtonItem möglicherweise initialisieren und das Bild daraus extrahieren, indem Sie alle Elemente in seiner UIView durchlaufen und die NSImages ablegen. Ich weiß nicht genau, wie ich das machen soll, aber ich erinnere mich, dass Erica Sadun einen Artikel über die Verwendung eines Vollbild-Kamerabildes geschrieben hat. Ich bin nicht berechtigt, einen Link hinzuzufügen, also nur Google für "Erica Sadun Vollbild-Kamera".

17

alle iPhone (oder MacOS) System-Icons in das Verzeichnis gehen zu kopieren:

cd /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/ 

=> es könnte mehr als eine iPhoneSimulator Version (iPhoneSimulator4.3.sdk) sein, wählen Sie einfach die ein Sie bevorzugen. Und als folgenden Befehl ausführen:

find . -iname "*.png*" -print0 | xargs -I{} -0 cp -v {} /tmp/iPhoneIcons/ 

/tmp/iPhoneIcons/ => ist das Zielverzeichnis

+0

+1 Dies funktioniert in bash; Um es unter tcsh zu verwenden, müssen Sie einfache Anführungszeichen um beide Sätze geschweifter Klammern setzen: ''{}'' –

+6

Ab Mac OS 10.8 wurde das SDK-Verzeichnis nach '/Applications/Xcode.app/Contents/Developer/ verschoben. Platforms/iPhoneSimulator.platform/Developer/SDKs' – alex

+0

funktionierte nicht für mich (es hat nur kopiert und ersetzt jedes Bild wieder und wieder, so dass am Ende war ich mit einem Bild, keine Erweiterung, das war das letzte Bild kopiert), stattdessen habe ich im Ordner /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/D eveloper/SDKs: 'gefunden. -iname "* .png *" -print0 -exec cp {} ~/tmp \; ' – fatfreddyscat

0

Dies ist ein alter Thread, aber ich fand es in Google. Ich extrahierte erfolgreich Bilder von UIBarButtonItems, die mit Systemelementen initialisiert wurden, unter Verwendung des folgenden Codes. Alle Extractor-Programme waren nicht auf iOS 6 oder waren zu kompliziert für mich. Da ich nur 5-6 Bilder brauchte, habe ich sie nur manuell bekommen.

- (void)viewDidAppear:(BOOL)animated { 

UIView *v1 = self.navigationController.navigationBar; 
for (int i = 0; i < v1.subviews.count; i++) 
{ 
    UIView *v2 = [v1.subviews objectAtIndex:i]; 
    NSLog(@"%i %@", i, [v2 class]); 
    if (i == 2) 
    { 
     for (int j = 0; j < v2.subviews.count; j++) 
     { 
      UIView *v3 = [v2.subviews objectAtIndex:j]; 
      NSLog(@" %i %@", j, [v3 class]); 

      if (j == 1) 
      { 
       // In my test, this view was UIImageView containing button image 
       UIImageView *iv = [[UIImageView alloc] initWithImage:((UIImageView *)v3).image]; 
       [self.view addSubview:iv]; 
      } 
     } 
    } 
} 

}

Verwandte Themen