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は、Webページを表示するコンポーネントです。htmlまたはその他のタイプの場合があります。Webビューを非表示にする1つの方法は、Webビューのhtmlにアクションを追加し、アプリのコードでリクエストをovverideすることです。リンクまたはahrefをクリックするか、UIwebviewのアクションをクリックすると、リクエストを続行する前に自動的に実行されるデリゲートメソッドがあります

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

たとえば、HTMLページにボタンまたはリンクを追加して、このメソッドのリクエストをovverideすることができます。

クリックするもの

とデリゲートメソッドで

  • (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request NavigationType:(UIWebViewNavigationType)navigationType {if([[[request URL] abstractString] isEqualToString:@ "http:// hiddenWebView /"]){[self .webview setHidden:YES]; NOを返します。}はYESを返します。}

ここでは、リクエストhttp:// hiddenWebView/をovverideし、デリゲートでこのリクエストを検索してから、Webビューまたはその他の実行したいことを非表示にします。

于 2011-11-28T12:12:34.267 に答える