문제

단일 Uiwebview를 제어하기 위해 여러 Uitabbar 탭을 어떻게 사용합니까?

An Example:

Pressing tab1: UIWebView loads index.html
Pressing tab2: the same UIWebView loads customers.html
Pressing tab3: the same UIWebView loads tos.html

저의 접근 방식은 uiwebview를 AppDelegate에 넣고 모든 ViewController의 Self.WebView를 해당 단일 UIWebView로 설정하는 것이 었습니다. 그러나 WebView는 표시되지만 흰색이며 아무것도로드하지 않습니다.

힌트가 있습니까?

도움이 되었습니까?

해결책

WebViews는 비싸므로 접근 방식이 옳을 수도 있지만 각 탭보기 컨트롤러에서 별도의 WebView를 만들고 먼저 예상대로 작동하는지 확인할 수 있습니다. 오버 헤드로 인해 앱이 메모리 경고를 받기 시작할 수 있지만 적어도 해당 컨텍스트에서 페이지가 최소한 올바르게로드되는지 확인할 수 있습니다.

또한 각보기 컨트롤러에 WebView를 추가하는 방법을 보여주는 코드를 게시 할 수 있습니까? -setframe을 사용하여 WebView의 프레임을 설정하지 않는 경우 WebView를 View Controller View의 서브 뷰로 추가하면 올바르게 표시되지 않습니다.

다른 팁

WebView를 주위로 이동하려면 -emoveFromSuperView를 작성한 다음 -adddsubview를 사용해야합니다. 인스턴스 변수에 다시 할당하면 트릭을 수행하지 않습니다.

탭 막대는 실제로 당신이하려는 일에 대한 잘못된 모델입니다. 컨텐츠를 전환하려면 실제로 원하는 것은 도구 모음입니다. 왜냐하면 다양한 방식으로 in a -the view를 변경하기위한 것이기 때문입니다. Tabbar는 여러 관련없는 뷰를 전환하기위한 것입니다. 여러 탭에서 동일한보기를 사용하십시오.

이제 완전히 관련이없는 콘텐츠가 있다면 탭 당 하나의 다른 uiwebviews를 사용하는 것만 고려해보십시오. 여러 인스턴스가있는 로딩이 실제로 아무것도 아프게 할 정도로 무겁지 않으며 탭이 눌러질 때까지 탭을로드하지 않으므로 한 번에 모두로드되지 않습니다. 메모리를 보존하기 위해 탭이 전환 될 때보기 컨트롤러를 버릴 수도 있습니다. 그러나 각보기가 자체 웹보기를 관리하면 더 의미가 있으며 콘텐츠를 훨씬 쉽게 유지할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top