2013-03-24 9 views
1

У меня есть UIWebView в моем контроллере просмотра и назначил его делегат на контроллер вида через код (то есть не через IB). Я также установил соответствующие методы делегирования: shouldStartLoadWithRequest, webViewDidStartLoad, webViewDidFinishLoad и didFailLoadWithError.UIWebView webViewDidStartLoad Иногда не сжигание

В методе viewDidLoad мой взгляд контроллера я загрузить соответствующий URL с помощью этого кода:

[self.webView loadRequest:reqURL]; 

95% времени все прекрасно работает и загружает страницу в объекте UIWebView и показывает, как ожидалось. Иногда, однако, страница не загружается.

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

Кто-нибудь знает, что здесь происходит? Я не мог найти что-либо в Stack Overflow, которое специально предназначалось для этой уникальной проблемы, с которой я столкнулся, и медленно приближаюсь к моему моменту. Заранее спасибо!

+0

Есть ли какое-либо условие, при котором вы 'shouldStartLoadWithRequest'implementation не вернули' YES'? – Cezar

+0

Хорошая точка ... На самом деле я не возвращаю YES в файле shouldStartLoadWithRequest и обновляю свой код, чтобы сделать это. Но даже несмотря на то, что у меня не было ответа на него, он по-прежнему загружает веб-контент во время его работы. –

+0

Почему он работает, даже если вы не всегда возвращали 'YES' то, что я действительно не знаю. Но я считаю, что это может быть хорошим поводом для объяснения непоследовательного поведения. В любом случае, можете ли вы поделиться своей реализацией 'shouldStartLoadWithRequest'? – Cezar

ответ

4

Вы должны убедиться, что ваша реализация shouldStartLoadWithRequest возвращает YES для всех условий, необходимых для загрузки вашего веб-браузера.

+1

Еще раз спасибо за помощь. –

Смежные вопросы