Как перезагрузить уже загруженный uiwebview с новой строкой HTML? - PullRequest
1 голос
/ 11 июня 2011

Я реализовал UIWebView в своем проекте, чтобы показать некоторые данные HTML.Проблема в том, что я загрузил веб-просмотр с некоторой строкой HTML, используя метод

[myWebView loadHTMLString:Data baseURL:nil];

Теперь я хочу добавить действие кнопки, чтобы при нажатии пользователем кнопки новые данныезагружается в webview .такой, что

-(void)clicked{
[myWebView loadHTMLString:newData baseURL:nil];
}

Я пытался применить то же, что и выше, но никакого эффекта не было.Я также попытался [myWebView reload], но ничего не произошло.

Плз, скажите мне соответствующий метод.

Ответы [ 3 ]

4 голосов
/ 11 июня 2011

Попробуйте, сначала вызовите stopLoading, затем перезагрузите ваш экземпляр UIWebView.

[myWebView  stopLoading ];
[myWebView  reload];
0 голосов
/ 24 июля 2017

Даже после попытки принять ответ я так и не решил свою проблему.
Итак, потратив некоторое время, я нашел ниже логику, которая работает для меня:
Objective-C

dispatch_async(dispatch_get_main_queue(), { 
                [myWebView  reload];
            })

Swift

dispatch_async(dispatch_get_main_queue(), { 
                    myWebView.reload()
                })
0 голосов
/ 11 июня 2011

loadHTMLString:baseURL: - правильный метод.

Но некоторые вещи могут быть неправильными, например, данные, которые вы пытаетесь отправить в веб-просмотр. Вы пытались зарегистрировать свой объект newData, чтобы увидеть, что отправляется объекту webView?

Ваша строка newData загружена из файла ресурсов? Если это так, вы можете попробовать загрузить html-данные из ресурсов с помощью кода, приведенного ниже

NSString *html = [[NSString alloc] initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"myFileName" ofType:@"html"]];
[myWebView loadHTMLString:html baseURL:nil];
...