2011-01-07 13 views

答えて

0

イムSDKのうち、画像を取得することができますが、iPhoneのシミュレータを経由してディスクに印刷できる方法がわかりません。単にあなたがナビゲーションバーに好きなUIBarButtonSystemItem追加しprintImagesボタンをクリックすると画像が〜/ライブラリ/ Application Support/iPhoneシミュレータ/ XX /アプリケーションでディスクに書き込まれます

- (void)printImages { 
    UIView *navbar = (UIView *)self.navigationController.navigationBar; 
    for (UIView *v in navbar.subviews) { 
    UIGraphicsBeginImageContextWithOptions(v.layer.bounds.size, NO, 0.0); 
    [v.layer renderInContext:UIGraphicsGetCurrentContext()]; 
    UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext(); 
    UIGraphicsEndImageContext(); 
    NSArray *docPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *docDirectory = [docPaths objectAtIndex:0]; 
    NSString *docPath = [docDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%x.png", arc4random()]]; 
    NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(viewImage)]; 
    [imageData writeToFile:docPath atomically:YES]; 
    } 
} 

にその作用を指します/ {crazy-guid-for-app}/Documents/

注:#import <QuartzCore/QuartzCore.h>が必要です。アプリケーションにQuartzCore.frameworkを追加してください。