2009-05-24 9 views
9

iPhone SDKからデフォルトのUIBarButtonItemアイコンを抽出したいと思います。 iPhoneSimulatorのプラットフォームにアルファチャンネル専用のPNGとして保存されていると思いますが、まだ見つけていません。iPhone SDKからUIBarButtonItemアイコンを抽出するには?

私が探しているものはUIBarButtonSystemItemReplyです。 (これに有効なユースケースがあると疑わしい人は、私は行のヘッダを使って返信することができます)

答えて

4

Other.artworkファイルは/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/(SDKが必要です)にあります。

"iPhoneShop-1.3.jar"プログラム(現在hereで利用可能)を使用して、すべての画像をディレクトリに抽出します。

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

で私のコメントで述べたようにiOSの4.3のファイルhttps://github.com/davepeck/iphone-tidbits/tree/master/iOS-artwork – sdsykes

+1

で動作する別のツールについてはこちらを参照してください。下の受諾されていない答えは、私がしました:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/ SDKsフォルダで、私はしました: 'find。 -iname "* .png *" -print0 -exec cp {}〜/ tmp \; ' – fatfreddyscat

1

私はこれを行う方法がわかりませんしかし、私は数ヶ月前に同じことに興味がありました。このUIBarButtonItemを初期化し、UIViewのすべての要素をループしてNSImagesをダンプすることで、このイメージを抽出することができます。私はそのことをどうやってやるべきか正確には分かりませんが、Erica Sadunは全画面カメラ画像の使用に関する記事を書いたことを覚えています。私はそれにリンクを追加することは許されていないので、 "erica sadun full screen camera"のGoogleだけです。

17

システムアイコンは、ディレクトリに移動し、すべてのiPhone(やMacOS)をコピーするには:

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

=>一つだけを選択し、複数のiPhoneSimulatorバージョン(iPhoneSimulator4.3.sdk)があるかもしれませんあなたは好きです。 、次のコマンドを実行より:

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

/tmp/iPhoneIcons/ =>先のディレクトリ

+0

+1これはbashで動作します。あなたは中括弧の両方のセットの周りに単一引用符を配置する必要があることtcshのノートの下にそれを使用する: '「{}」'のMac OS 10.8のよう –

+6

を、SDKディレクトリは/Applications/Xcode.app/Contents/Developer/ 'へ移動しましたプラットフォーム/ iPhoneSimulator.platform /開発/ SDKs' – alex

+0

はそれだけで+コピー(私のために動作しませんでした、最後に、私は一つの画像、拡張子なしで残っていたように、各画像の上やオーバーを交換し、それが最後の画像でした/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Dのeveloper/SDKのフォルダに、代わりに、コピーされた)ので、私がやった: '見つけます。 -iname "* .png *" -print0 -exec cp {}〜/ tmp \; ' – fatfreddyscat

0

これは古いスレッドですが、私はグーグルでそれを見つけたの。以下のコードを使用して、システム項目で初期化されたUIBarButtonItemsから画像を正常に抽出しました。すべての抽出プログラムはiOS 6で実行していなかったか、あまりにも複雑でした。私は5〜6枚の画像しか必要としなかったので、手作業で手に入れました。

- (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]; 
      } 
     } 
    } 
} 

}

関連する問題