2015-11-25 14 views
7

Trên iOS, khi bạn đặt contentInset trên chế độ xem cuộn của WKWebView, có vẻ như làm cho chế độ xem web cho rằng nội dung của trang lớn hơn. Ví dụ: nếu bạn cung cấp cho trang chủ yếu là một sản phẩm nào đó ở trên cùng hoặc dưới cùng contentInset, bạn sẽ có thể cuộn trang xuống mặc dù không có gì để cuộn đến.WKWebView + contentInset khiến kích thước nội dung sai

Hành vi này có được mong đợi không? Có cách giải quyết nào vẫn cho phép tôi sử dụng contentInset không?

Trả lời

4

Vấn đề là WKWebView dường như luôn sử dụng khung của nó làm kích thước khung nhìn của nó, bỏ qua để trừ đi số contentInset của scrollView. Tôi đã có thể tìm thấy một số workaround bởi stephan-leroux.

Ý tưởng là đặt khung của WKWebView thành kích thước khung nhìn mong muốn, theo cách thủ công hoặc sử dụng các hạn chế tự động. Để khôi phục hiệu lực thi hành "di chuyển gậy dưới chuẩn" của contentInset, vô hiệu hóa của masksToBounds scrollview:

wkWebview.scrollView.layer.masksToBounds = NO; 
1

suggestion (thay đổi kích thước khung nhìn web) weiyin của làm việc cho tôi.

Chỉ muốn chia sẻ ví dụ mã:

CGFloat topInset = ...; 
web.scrollView.layer.masksToBounds = NO; 
[web.scrollView setContentInset:UIEdgeInsetsMake(topInset, 0, 0, 0)]; 
[web setFrame:CGRectMake(0, 0, web.width, web.height-topInset)]; 
Các vấn đề liên quan