У меня есть UIWebView
в качестве корневого представления UINavigationController
.Когда загрузка веб-страницы заканчивается, я скрываю панель навигации и ищу способ показать ее обратно.Прямо сейчас я пытаюсь сделать это, когда пользователь нажимает на строку состояния ( этот подход выглядит для меня более сложным, чем я хочу).
Чтобы выполнить это, во-первых,Я получаю scrollView от webView:
for (id subview in mainWebView.subviews) {
if ([[subview class] isSubclassOfClass: [UIScrollView class]]) {
((UIScrollView *)subview).delegate = self;
}
}
и затем использую метод делегата:
-(BOOL) scrollViewShouldScrollToTop:(UIScrollView *)scrollView {
[self.navigationController setNavigationBarHidden:NO animated:YES];
return NO;
}
Я надеялся, что это сработает, но вот что происходит:
- Страница загружается, и панель навигации скрывается (это хорошо)
- Я пытаюсь коснуться строки состояния, но ничего не происходит (это плохо)
- Я прокручиваю вниз так,что веб-представление "далеко" от строки состояния
- Не отпуская веб-просмотр, я касаюсь строки состояния другим пальцем, и это работает!(это странно:)
Оооо, какая-нибудь помощь по этому поводу?Почему это происходит?