2010-02-10 27 views
12

Tôi đang sử dụng UIWebView để hiển thị một trang HTML đơn giản. Khi tôi cuộn trang (trên đầu hoặc trên dưới) một bóng màu xám xuất hiện phía sau !! Tôi có thể xóa hoặc tránh hiệu ứng xấu này không?Làm thế nào để loại bỏ bóng xám trên UIWebView trên cùng khi đăng ký quá mức?

Thx

P.S. UIWebView, Xem vùng chứa, tất cả đều là nền KHÔNG rõ ràng và mờ đục !!

+2

Tại sao họ đặt cái bóng ngu ngốc này vào và không được cung cấp một phương tiện để loại bỏ nó nằm ngoài tôi. –

Trả lời

2

Không thể! Trên web có một số giải pháp sử dụng phương pháp táo riêng (các chức năng api & không có giấy tờ). Vì vậy, táo có thể từ chối ứng dụng của bạn.

+1

Bạn đã thử mã của tôi chưa? Tôi không thấy lý do tại sao Apple sẽ từ chối nó hoặc có một cách để phát hiện nó vì nó không gọi bất kỳ apis riêng. – Adolfo

+0

Giải pháp của bạn là tốt! Tôi thử nó sớm. Tôi tham khảo các giải pháp khác được thành lập trên Web .. :) – Undolog

+0

http://stackoverflow.com/questions/655225/uiwebview-underside – LolaRun

23

Bóng tối thuộc lớp UIImageView. Bạn có thể lặp qua các chế độ xem của chế độ xem con đầu tiên của UIWebView và chỉ ẩn mọi chế độ xem khớp với UIImageView.

id scrollview = [webView.subviews objectAtIndex:0];  
for (UIView *subview in [scrollview subviews]) 
    if ([subview isKindOfClass:[UIImageView class]]) 
    subview.hidden = YES; 

Tuyên bố từ chối trách nhiệm: phân cấp chế độ xem có thể thay đổi trong tương lai và điều này sẽ không hoạt động khiến bóng trở lại.

+0

tôi đặt mã của bạn trên viewDidLoad và không hoạt động. – Momi

+0

[subview isKindOfClass: [UIImageView class]] sẽ chính xác hơn, nhưng câu trả lời thích hợp được đưa ra bởi Undolog. –

+0

Cảm ơn, tôi đã cập nhật nó thành "chính xác hơn". :) – Adolfo

0

đặt uiwebview trên uiscrollview và tắt di chuột qua uiwebview.

+0

bây giờ đó là ý tưởng –

0

Bạn có thể thực hiện việc này.

webView.backgroundColor = [UIColor clearColor]; và ra một UIImageView đẹp ở chế độ nền.

Điều này thật đơn giản và dễ dàng.

+0

bóng sẽ vẫn giữ nguyên là –

5

Check-out này làm việc cho tôi ..

UIScrollView *scrollview = [webView.subviews objectAtIndex:0];
scrollview.bounces=NO;

+0

thuộc tính đó chỉ là webView.scrollView và chỉ làm cho nó để bạn không thể cuộn. Bạn chưa xóa bóng gây phiền nhiễu. –

0
for (id subview in _webView.subviews) 
      if ([[subview class] isSubclassOfClass: [UIScrollView class]]) { 
       for (UIView *scrollSubview in [subview subviews]) 
        if ([[scrollSubview class] isSubclassOfClass:[UIImageView class]]) 
         scrollSubview.hidden = YES; 
      } 

Giải pháp này sẽ không bị từ chối.

4
for (UIView *view in self.webView.scrollView.subviews) { 
     if ([view isKindOfClass:[UIImageView class]]) { 
      view.hidden = YES; 
     } 
    } 

Tại sao Apple sẽ từ chối phương pháp này, không có không có giấy tờ và tư nhân phần :) Bạn tìm thấy bất kỳ xem, kiểm tra lớp học của họ, và ẩn ... You are not delete, hoặc viết lại phương pháp .. Bạn không sửa đổi (viết lại) bất kỳ phần nào của đối tượng ... chỉ ẩn, Không?

+1

Tôi nghĩ đây là giải pháp tốt nhất! – Florian

0

Đối với bất kỳ ai trong trường hợp này khi không cần cuộn, vì tất cả nội dung của bạn phù hợp, hãy gọi phương thức sizeToFit trên UIWebView sẽ loại bỏ các bóng này.

Các vấn đề liên quan