如何从iphonesdk中提取uibarbuttonite图标?
我想从iphonesdk中提取默认的uibarbuttonite图标。我想它们可能存储在iPhoneSimulator平台上,只作为alpha通道PNG,但我还没有找到它如何从iphonesdk中提取uibarbuttonite图标?,iphone,Iphone,我想从iphonesdk中提取默认的uibarbuttonite图标。我想它们可能存储在iPhoneSimulator平台上,只作为alpha通道PNG,但我还没有找到它 我要找的是UIBarbuttonSystemReply。(对于那些怀疑有有效用例的人,我希望在一个表行标题上使用它,用户可以按行发布回复)我不知道怎么做,但是几个月前我对同样的事情很好奇。通过在UIView中循环所有元素并转储NSImage,您可以初始化此UIBarButtonim并从中提取图像。我不知道该怎么做,但我记得Er
我要找的是UIBarbuttonSystemReply。(对于那些怀疑有有效用例的人,我希望在一个表行标题上使用它,用户可以按行发布回复)我不知道怎么做,但是几个月前我对同样的事情很好奇。通过在UIView中循环所有元素并转储NSImage,您可以初始化此UIBarButtonim并从中提取图像。我不知道该怎么做,但我记得Erica Sadun写过一篇关于使用全屏摄像机图像的文章。我不允许添加到它的链接,所以只需在谷歌上搜索“erica sadun全屏相机”。另一个.artwork文件位于/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/System/Library/Frameworks/UIKit.framework/(您需要sdk) 使用“iPhoneShop-1.3.jar”程序——目前可以将所有图像提取到一个目录中
java -jar iPhoneShop-1.3.jar ARTWORK Other.artwork EXPORT Other
要复制所有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/
=>是目标目录这是一个旧线程,但我在Google中找到了它。我使用下面的代码成功地从用系统项初始化的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];
}
}
}
}
-(void)视图显示:(BOOL)动画{
UIView*v1=self.navigationController.navigationBar;
对于(int i=0;i
}请参见此处,以获取另一个适用于iOS 4.3文件的工具,正如我在下面未被接受的答案中的评论中提到的,我做到了:在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/D中eveloper/SDKs文件夹,我做到了:
find-iname“*.png*”-print0-exec cp{}~/tmp\代码>+1这在bash中工作;要在tcsh下使用它,请注意,您需要在两组大括号周围加上单引号:'{}
从Mac OS 10.8开始,SDK目录移动到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator。platform/Developer/SDK
对我不起作用(它只是一次又一次地复制并替换了每个图像,因此,最后我只剩下一个图像,没有扩展,这是最后一个复制的图像)因此,在/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/D中eveloper/SDKs文件夹,我做了:find.-iname“*.png*”-print0-exec cp{}~/tmp\;