1

我想知道如果用户不再希望它出现在屏幕上,是否有任何方法可以让用户关闭 WebView 窗口......?我看了这个帖子,但我不太明白。 如何取消 UIWebView? 谁能给我一个例子吗?这是我的代码:

CGSize webScreen1;
webScreen1 = [[UIScreen mainScreen] applicationFrame].size;
CGRect webFrame1 = CGRectMake((webScreen1.width/11.0) ,(webScreen1.height/19.0)  ,webScreen1.width/1.2,webScreen1.height/1.25);
defaultWebView.frame = webFrame1;
self.defaultWebView = [[UIWebView alloc] initWithFrame:webFrame1];
self.defaultWebView.backgroundColor = [UIColor whiteColor];
self.defaultWebView.scalesPageToFit = YES;
self.defaultWebView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);

defaultWebView.inputView.hidden = YES;

[self.view addSubview: self.defaultWebView];

[self.defaultWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:
                                                            [NSString stringWithFormat:(NSString *)@"%@", @"http://www.google.com"]]]];

谢谢!

4

3 回答 3

2

没有取消 webView 这样的事情,您需要做的是UIWebView从父视图中删除。如果您UIWebView是子视图,self.view那么您可以提供一个名为的按钮Close,其行为如下 -

- (IBAction)closeWebView:(id)sender
{
    [self.webView removeFromSuperView];
    self.webView = nil;
    return;
}

这应该从您的视图中删除 web 视图。

于 2011-11-28T11:37:43.740 回答
0

...让用户关闭 WebView 窗口的方法...

[self.defaultWebView removeFromSuperview];
于 2011-11-28T11:37:59.680 回答
0

看,我将在您上面附加的帖子中解释发生了什么,您将了解该技术,

UIWebview 是一个查看网页的组件,它可能是 html 或其他类型,隐藏你的 webview 的一种方法是在 webview 的 html 中添加一个动作,并在你的应用程序的代码中覆盖请求,当您单击链接或 ahref 或 UIwebview 上的任何操作,有一个委托方法会在继续请求之前自动运行

  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;

例如,您可以在 html 页面上添加按钮或链接并覆盖此方法的请求

点击的东西

并在委托方法中

  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { if ([[[request URL] absoluteString] isEqualToString:@"http://hideWebView/"]) { [self .webview setHidden:YES]; 返回否;} 返回是;}

在这里,您覆盖请求http://hideWebView/并在您搜索此请求的委托中,然后隐藏 Web 视图或您想要做的任何其他事情

于 2011-11-28T12:12:34.267 回答