views:

182

answers:

1

There's a video tutorial on u tube that shows how to perform this.It consists of a UIwebview and toolbar button to save the contents.Haven't had any luck making this work.Could someone have a look and see they can make it work.Many thanks in advance.

http://www.youtube.com/watch?v=gDPca3JIc_s&feature=player_embedded#

///////////////////////////////////////////////////////////////////
//
//  SaveWebViewController.h
//  SaveWeb
//
//  
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import <UIKit/UIKit.h>

@interface SaveWebViewController : UIViewController {
 IBOutlet UIWebView *webview;
} 

@property (nonatomic, retain) IBOutlet UIWebView *webview;

- [IBAction]saveWeb:(id)sender;


@end



////////////////////////////////////////////////////////////////////////////////
//
//  SaveWebViewController.m
//  SaveWeb
//
//  
//  Copyright __MyCompanyName__ 2010. All rights reserved.
//

#import "SaveWebViewController.h"

@implementation SaveWebViewController

- (IBAction)saveWeb:(id)sender {

 UIGraphicsBeginImageContext(webView.frame.size);
 [self.view.layer renderInContext: UIGraphicsGetCurrentContext()];
 UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
 UIGraphicsEndImageContext();
 UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil); 
}



// The designated initializer. Override to perform setup that is required before the view is loaded.
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
        // Custom initialization
    }
    return self;
}



// Implement loadView to create a view hierarchy programmatically, without using a nib.
- (void)loadView {
}



//Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
 [super viewDidLoad];

 [webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://google.com"]]];
}



// Override to allow orientations other than the default portrait orientation.
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
    // Return YES for supported orientations
    return (interfaceOrientation == UIInterfaceOrientationPortrait);
}


- (void)didReceiveMemoryWarning {
 // Releases the view if it doesn't have a superview.
    [super didReceiveMemoryWarning];

 // Release any cached data, images, etc that aren't in use.
}

- (void)viewDidUnload {
 // Release any retained subviews of the main view.
 // e.g. self.myOutlet = nil;
}


- (void)dealloc {
    [super dealloc];
}

@end
+1  A: 

-(IBAction)saveWeb:(id)sender {

UIGraphicsBeginImageContext(webview.frame.size);
[self.webview.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage =UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil,nil,nil); 

} ////make sure u add the quartzcore frame work to get rid of the renderincontext problem flag

How2iphone
Aha! I don't know if it helped the original poster, but this helped me! Thanks!
Ash