2012-03-03 6 views
0

Я работаю над универсальным приложением iOS, которое получает новости из RSS-канала. Тело новостей - HTML, поэтому я показываю его в UIWebView. Я учитываю, когда пользователь щелкает ссылку, чтобы они могли перемещаться вперед и назад от исходных новостей и ссылок, которые они нажимают в этой новостной статье.iOS очистить историю UIWebView

На iPhone, когда пользователь возвращается из ViewController отдельной статьи новостей и выбирает другую новостную статью, UIWebView создавал свежие и отлично работает. Но на моей версии iPad у меня есть UISplitViewController, и по мере того, как пользователь нажимает на разные статьи новостей слева, исправления справа, но UIWebView не создается свежим.

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

Ниже поток, что происходит на версии IPad

-User щелкает на первой новости статьи --user щелкает ссылку в этой статье. WebView переходит к Link. --User заходит. WebView переходит к исходному содержимому новостной статьи -User нажимает на другую новостную статью. --User нажимает на ссылку в этой статье. WebView переходит к Link. --User заходит. WebView идет по ссылке, которая была нажата в первой новостной статье - Затем пользователь должен вернуться назад, чтобы перейти к исходному содержимому этой статьи новостей

Я хотел бы, чтобы запуск UIWebView начинался как «чистый сланец», когда выбрана новая новостная статья.

ответ

4

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

+0

Hi Fisk, я пробовал что-то подобное, но столкнулся с проблемой, когда я потерял контроль над WebView после того, как сделал это. Что я сделал, так это освобождение WebView, а затем его воссоздание с помощью webView = [UIWebView alloc] init] ;. Это имеет смысл? Спасибо !!! – KevinM

+0

Вы не можете просто создать новый 'UIWebView'. Сначала вы должны удалить старый 'UIWebView' из своего супервизора и добавить новый' UIWebView' в качестве нового подзапроса. Вы можете повторно использовать кадр старого 'UIWebView' и установить его как фрейм нового' UIWebView', чтобы убедиться, что он находится в том же месте. – fisk

+0

о да. Не могу поверить, что я это смотрел. Это должно работать идеально для меня. Я попробую. Спасибо вам! – KevinM