2009-03-31 3 views
8

어두운 배경을 사용하는 in-application HTML 문서가 있지만 UIWebView의 기본 스크롤 표시기가 그 배경에서 없어지는 경우가 있습니다. 다음은이의 예입니다흰색 표시기 스타일을 사용하도록 UIWebView에 알릴 수 있습니까?

있는 UIWebView는 행동과 유사있는 UIScrollView와 Image of UIWebView dark scroller http://www.sunsetlakesoftware.com/sites/default/files/so-webview.jpg

, 당신은 원하는 동작 결과 UIScrollViewIndicatorStyleWhite,에 indicatorStyle 속성을 설정할 수 있습니다

alt text http://www.sunsetlakesoftware.com/sites/default/files/so-scrollview.jpg

UIWebView의 노출 된 인터페이스에서 비슷한 속성을 찾을 수없는 것 같습니다. 스크롤 표시기를 더 가볍게 만드는 CSS 트릭이나 다른 방법이 있습니까?

답변

13

, 하나는 이제 원하는 기능 달성하기 위해 '있는 ScrollView'속성에 액세스하여 웹보기의 스크롤 동작을 사용자 정의 할 수 있습니다 : 불행하게도

webView.scrollView.indicatorStyle = UIScrollViewIndicatorStyleWhite; 
1

하위 뷰를 스캔하고 UIScrollView를 테스트합니다. 그런 다음 표시기를 프로그래밍 방식으로 설정할 수 있습니다.

+2

을,있는 UIWebView는 내부 스크롤을 처리하는 UIScroller를 사용 (내부 뷰 계층을 횡단하여 보임). 이는 개인적으로 정의 된 클래스이므로 터치하는 것은 정말 좋은 생각입니다. –

1

2.x SDK에는 공개 API가 없습니다. 3.0에 버그/케이스/레이더에 묻습니다.

+0

나는 두려웠지만 누군가가 내가 놓친 속임수가 있기를 바랐다. 기능 향상 요청을 보내 드리겠습니다. –

6

당신은 파단을 스캔하고 뭔가이 현재 작동 미래에 변경하면 정상적으로 실패하려고 시도하는 경우 : 상황이 여전히 미래에 깨질 수 있지만

//set a white scroll bar 
    for (UIView *subview in [webView subviews]) { 
     if ([subview isKindOfClass:NSClassFromString(@"UIScroller")] || [subview isKindOfClass:NSClassFromString(@"UIScrollView")]) { 
      if ([subview respondsToSelector:@selector(setIndicatorStyle:)]) { 
       [(UIScrollView *)subview setIndicatorStyle:UIScrollViewIndicatorStyleWhite]; 
      } 
      break; 
     } 
    } 

하는 setIndicatorStyle 경우 : 변화 기대 비 열거 된 가치 ... 그러나 나는 그것이 일어날 것입니다. 이후 아이폰 OS 5.0을 시작

관련 문제