2010-04-02 81 views
0

有一個關於U管的視頻教程,顯示如何執行此操作。它包含一個UIwebview和工具欄按鈕來保存內容。沒有任何運氣使這項工作。有人有一個看看,看看他們可以使它工作。多提前感謝。保存UIwebview的內容到照片庫

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 
+0

你有一個具體的問題?你有什麼麻煩?什麼是錯的,爲什麼?你的問題太模糊了,現在就回答。 – 2010-04-02 07:22:56

+0

在iphone sdk中運行時生成失敗。需要某人查看vid並檢查上面的代碼是否有任何錯字。在xcode iphone 3.1 sdk上運行。 – How2iphone 2010-04-02 12:15:24

+1

這不是堆棧溢出的正確問題。請儘可能簡明地確定您的問題。 – 2010-04-02 18:12:54

回答

4
-(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 
+0

啊哈!我不知道它是否有助於原始的海報,但這幫助了我!謝謝! – Ash 2010-09-04 17:37:48

+0

哪個對象我應該鏈接這個方法? – Sobiaholic 2012-09-05 21:48:24