iPhone WebApp问题

时间:2010-05-25 04:57:08

标签: javascript iphone objective-c

我有这段代码 -

/ ** 将Web视图另存为屏幕截图。目前只支持保存到 照片库。 / - (void)saveScreenshot:(NSArray )参数withDict:(NSDictionary *)选项 {     CGRect screenRect = [[UIScreen mainScreen] bounds];     CGRect imageRect = CGRectMake(0,0,CGRectGetWidth(screenRect), CGRectGetHeight(screenRect));

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

UIAlertView *alert= [[UIAlertView alloc] initWithTitle:nil

消息:@“Image Saved”委托:self cancelButtonTitle:@“OK” otherButtonTitles:无];     [警示显示];     [警告发布];

}

这是为了保存您在我的应用中绘制的内容。如何在HTML代码中添加此按钮。我该怎么称呼呢?

1 个答案:

答案 0 :(得分:1)

所以你试图将一个事件从html发送到一个UIWebView?

最简单的方法是使用私有方案。在html中:

<a href="myscheme:save_picture">Take Picture</a>

在UIWebView委托中:

-(BOOL) webView:(UIWebView *)inWeb shouldStartLoadWithRequest:(NSURLRequest *)inRequest navigationType:(UIWebViewNavigationType)inType {
    NSString    *string = [[[inRequest URL] absoluteString] lowercaseString];
    if ( [string isEqualToString:@"myscheme:save_picture"] ) {
        [self savePicture];
        return NO;
    }
    return YES;
}

您可以查看PhoneGap以更好地使用此机制。