UIWebView의 내부 스크롤 뷰에 서브 뷰 추가하기

마이크

내 목표는 HTML 페이지에 Google DFP 배너보기 (배너 광고)를 추가하고 iPad에서 HTML로 스크롤하도록하는 것입니다.

HTML은 UIWebViewiOS에서 정상적으로 표시됩니다 .

UIView페이지의 일부인 것처럼 스크롤되도록 콘텐츠와 함께 DFP 배너보기 (에서 상 속됨 )를 배치하려면 어떻게해야합니까?

지금까지 내가 한 일 :

  • UIWebView*scrollview속성을.
  • 의 하위 뷰를 트래버스합니다 webview.scrollview.
  • 각보기에 대해 프레임을 조정하여 배너 높이만큼 아래로 이동하고 같은 양만큼 작게 만듭니다.
  • 배너보기를 웹보기의 scrollview.

    for (UIView *view in self.webview.scrollView.subviews) {
        CGRect frame = view.frame;
        frame.origin.y += bannerAdvertsHeight;
        frame.size.height -= bannerAdvertsHeight;
        view.frame = frame;
    }
    
    [self.webview.scrollView addSubview:self.dfpBannerView];
    

현재 iPad에 액세스 할 수 없지만 시뮬레이터에서 작동 중입니다. 그것이 '좋은'해결책인지 확실하지 않습니다. 내 접근 방식에 문제가 있다고 생각되면 알려주세요.

아르 민

다음은보기 계층 구조입니다 UIWebView.

(gdb) po [webView recursiveDescription]
<UIWebView: 0x68220e0; frame = (0 0; 320 460); >
| <UIScrollView: 0x4b2bee0; frame = (0 0; 320 460); >
|    | <UIImageView: 0x4b2dca0; frame = (0 0; 54 54); >
|    | <UIImageView: 0x4b2da20; frame = (0 0; 54 54); >
|    | <UIImageView: 0x4b2d9c0; frame = (0 0; 54 54); >
|    | <UIImageView: 0x4b12030; frame = (0 0; 54 54) >
|    | <UIImageView: 0x4b11fd0; frame = (-14.5 14.5; 30 1); >
|    | <UIImageView: 0x4b11f70; frame = (-14.5 14.5; 30 1); >
|    | <UIImageView: 0x4b11f10; frame = (0 0; 1 30); >
|    | <UIImageView: 0x4b11eb0; frame = (0 0; 1 30); >
|    | <UIImageView: 0x4b11e50; frame = (0 430; 320 30); >
|    | <UIImageView: 0x4b2d0c0; frame = (0 0; 320 30);  >
|    | <UIWebBrowserView: 0x6005800; frame = (0 0; 320 460); >

계층 구조를 살펴보면 배너를에 추가해야 UIWebBrowserView하거나 그렇지 않은 경우 그 위에 추가해야 합니다.

for (id view in self.webview.scrollView.subviews) {
    if (![view isKindOfClass:[UIImageView class]]) {
        CGRect frame = view.frame;
        frame.origin.y += bannerAdvertsHeight;
        frame.size.height -= bannerAdvertsHeight;
        view.frame = frame;
    }
} 
[self.webview.scrollView addSubview:self.dfpBannerView];

이것은 일종의 해킹이므로 나중에 iOS 업데이트에서 나중에 문제가 발생할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

뷰의 초기화 후크 내부에서 뷰의 각 컨트롤러에 액세스 할 수 있습니까?

분류에서Dev

서브 뷰의 콘텐츠 크기에 따른 스크롤 뷰 조정

분류에서Dev

스크롤 뷰의 컨테이너 뷰 내에서 ViewController 확장

분류에서Dev

스크롤 뷰 내에서 클릭 가능한 뷰

분류에서Dev

스크롤 뷰 내부의 recyclerview가 스크롤 위치에 영향을 미침

분류에서Dev

스크롤 뷰 내부의 확장 가능한 목록보기

분류에서Dev

postgresql에서 뷰 내부의 뷰 참조

분류에서Dev

스크롤 뷰의 중심에 가장 가까운 뷰 배열에서 뷰 찾기

분류에서Dev

UITableView (셀 아님)에 스크롤링 서브 뷰 추가

분류에서Dev

스크롤 뷰 또는 테이블 뷰 헤더 내부의 UITable?

분류에서Dev

뷰포트 내부에서 div에 클래스 추가

분류에서Dev

컨트롤러 내부에서 뷰 이름 가져 오기

분류에서Dev

android : ViewPager : 뷰 페이저 내에서 뷰의 스크롤 위치를 얻는 방법은 무엇입니까?

분류에서Dev

Titanium Appcelerator의 웹뷰 내부에서 카메라에 액세스하는 방법

분류에서Dev

iOS의 스크롤 뷰 내에서 이미지의 대칭 확대 / 축소

분류에서Dev

다른 뷰 내부의 제스처에서 테이블 / 컬렉션 뷰의 스크롤을 구동 할 수 있습니까?

분류에서Dev

SwiftUI에서 화면의 특정 부분에 스크롤 뷰를 추가하려면 어떻게해야합니까?

분류에서Dev

angularjs의 뷰 내부에서 구성 상수에 액세스

분류에서Dev

뷰 내에서 자식 스크롤을 위해 뷰 페이저 사용

분류에서Dev

테이블 뷰 내부의 컬렉션 뷰에서 segue 수행

분류에서Dev

스크롤 뷰 내에서 마우스 위치 확대

분류에서Dev

서브 뷰에 UIImageView 추가

분류에서Dev

내부에 뷰 박스가있는 사용자 정의 버튼

분류에서Dev

스크롤 뷰 내에 그룹 이미지 뷰를 동적으로 추가하는 방법

분류에서Dev

MVVM의 뷰 모델에서 뷰 닫기

분류에서Dev

컨트롤러 foreach 내의 변수가 뷰 내부에서 NULL을 반환합니다.

분류에서Dev

래퍼 div 내부의 뷰포트 내에서 div 가져 오기

분류에서Dev

뷰 컨트롤러 수명주기에서 하위 뷰를 추가 할 위치

분류에서Dev

뷰 내부에서 뷰 호출

Related 관련 기사

  1. 1

    뷰의 초기화 후크 내부에서 뷰의 각 컨트롤러에 액세스 할 수 있습니까?

  2. 2

    서브 뷰의 콘텐츠 크기에 따른 스크롤 뷰 조정

  3. 3

    스크롤 뷰의 컨테이너 뷰 내에서 ViewController 확장

  4. 4

    스크롤 뷰 내에서 클릭 가능한 뷰

  5. 5

    스크롤 뷰 내부의 recyclerview가 스크롤 위치에 영향을 미침

  6. 6

    스크롤 뷰 내부의 확장 가능한 목록보기

  7. 7

    postgresql에서 뷰 내부의 뷰 참조

  8. 8

    스크롤 뷰의 중심에 가장 가까운 뷰 배열에서 뷰 찾기

  9. 9

    UITableView (셀 아님)에 스크롤링 서브 뷰 추가

  10. 10

    스크롤 뷰 또는 테이블 뷰 헤더 내부의 UITable?

  11. 11

    뷰포트 내부에서 div에 클래스 추가

  12. 12

    컨트롤러 내부에서 뷰 이름 가져 오기

  13. 13

    android : ViewPager : 뷰 페이저 내에서 뷰의 스크롤 위치를 얻는 방법은 무엇입니까?

  14. 14

    Titanium Appcelerator의 웹뷰 내부에서 카메라에 액세스하는 방법

  15. 15

    iOS의 스크롤 뷰 내에서 이미지의 대칭 확대 / 축소

  16. 16

    다른 뷰 내부의 제스처에서 테이블 / 컬렉션 뷰의 스크롤을 구동 할 수 있습니까?

  17. 17

    SwiftUI에서 화면의 특정 부분에 스크롤 뷰를 추가하려면 어떻게해야합니까?

  18. 18

    angularjs의 뷰 내부에서 구성 상수에 액세스

  19. 19

    뷰 내에서 자식 스크롤을 위해 뷰 페이저 사용

  20. 20

    테이블 뷰 내부의 컬렉션 뷰에서 segue 수행

  21. 21

    스크롤 뷰 내에서 마우스 위치 확대

  22. 22

    서브 뷰에 UIImageView 추가

  23. 23

    내부에 뷰 박스가있는 사용자 정의 버튼

  24. 24

    스크롤 뷰 내에 그룹 이미지 뷰를 동적으로 추가하는 방법

  25. 25

    MVVM의 뷰 모델에서 뷰 닫기

  26. 26

    컨트롤러 foreach 내의 변수가 뷰 내부에서 NULL을 반환합니다.

  27. 27

    래퍼 div 내부의 뷰포트 내에서 div 가져 오기

  28. 28

    뷰 컨트롤러 수명주기에서 하위 뷰를 추가 할 위치

  29. 29

    뷰 내부에서 뷰 호출

뜨겁다태그

보관