W mojej aplikacji mam widok sieciowy, który służy wyłącznie do wyświetlania strony na Facebooku. Jednak klient nie chce, aby pojawił się górny niebieski pasek Facebooka; chce to ukryć. Czy jest na to sposób? Pasek ma 45 pikseli, więc przeniosłem UIWebView w IB w taki sposób, że jego górne 45 pikseli znajduje się za paskiem nawigacji (a więc się nie pojawia). Nie jest to jednak idealne rozwiązanie, ponieważ użytkownik może zobaczyć tę treść, gdy przewinie ją w górę, zanim się odbije. Widzi, ale nie dotyka, co będzie frustrujące dla niektórych użytkowników. Próbowałem wyłączyć odbijanie, ale wtedy interfejs użytkownika staje się zbyt sztywny i nie płynny. Szukałem w Google i Stackoverflow przez kilka godzin, ale nie znalazłem rozwiązania.

Wielkie dzięki!

1
Giovanni 29 luty 2012, 02:53

2 odpowiedzi

Najlepsza odpowiedź

Będziesz musiał edytować kod HTML/CSS samej strony, aby ukryć odpowiednie elementy HTML, prawdopodobnie przy użyciu wyrażeń regularnych, i wprowadzić go do UIWebView za pomocą loadHTMLString:baseURL:.

Robiłem już podobne manipulacje i to działa, ale... to inna gra w piłkę, gdy strony, o których mowa, nie należą do Ciebie. Za każdym razem, gdy Facebook aktualizuje swój układ, zachowanie Twojej aplikacji może się zmienić, dopóki nie będziesz mieć czasu na zatwierdzenie aktualizacji aplikacji. Klienci chcą tego, czego chcą, ale upewnij się, że Twój klient wie, o co prosi!

1
Janardan Yri 29 luty 2012, 03:09

Najpierw przetestuj kod JavaScript używany do ukrycia dowolnych elementów na stronie internetowej, a następnie przekaż do stringByEvaluatingJavaScriptFromString z UIWebView, aby go uruchomić.

0
overboming 29 luty 2012, 11:18