Кнопка отмены / сенсорный для UIWebView - PullRequest
1 голос
/ 28 ноября 2011

Интересно, есть ли способ заставить пользователя закрыть окно 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"]]]];

Спасибо!

Ответы [ 3 ]

2 голосов
/ 28 ноября 2011

Нет такой вещи, как отмена веб-просмотра, вам нужно просто удалить UIWebView из родительского представления.Если ваш UIWebView является подпредставлением self.view, тогда вы можете предоставить кнопку с именем Close, которая ведет себя так -

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

Это должно удалить веб-просмотр с вашего представления.

0 голосов
/ 28 ноября 2011

посмотрите, я объясню, что происходит в посте, который вы прикрепили выше, и вы поймете технику,

UIWebview - это компонент, который просматривает веб-страницу, это может быть HTML или другие типы, есть одинЧтобы скрыть свое веб-представление, нужно добавить действие в HTML-код веб-просмотра и переопределить запрос в коде вашего приложения, когда вы нажимаете на ссылку или Ahref или любое действие в UIwebview, есть метод делегата, который автоматически запускается перед продолжениемзапрос

  • (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) запрос navigationType: (UIWebViewNavigationType) navigationType;

вы можете добавить кнопку илиссылку на html-странице и перевести запрос на этот метод, например

Вещи, чтобы щелкнуть

и в методе делегата

  • (BOOL) webView: (UIWebView *) webView shouldStartLoadWithRequest: (NSURLRequest *) запрос navigationType: (UIWebViewNavigationType) navigationType {if ([[[URL запроса] absoluteString] isEqualToString: @ "http://hideWebView/"]) {[self.webview setHidden: YES];возврат НЕТ;} вернуть YES;}

здесь вы повторяете запрос http://hideWebView/ и в делегате вы искали этот запрос, а затем скрываете веб-представление или что-либо еще, что вы хотите сделать

0 голосов
/ 28 ноября 2011

... способ заставить пользователя закрыть окно WebView ...

[self.defaultWebView removeFromSuperview];
...