2012-06-04 30 views
13

Tôi đã tạo một chế độ xem web theo lập trình và tôi không thể bật cuộn trong chế độ xem này.Không thể cuộn trong UIWebView trong iOS

Làm cách nào để bật cuộn?

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0,40, 325, 1000)]; 
    webView.contentMode = UIViewContentModeScaleAspectFit;  
    [webView setBackgroundColor:[UIColor clearColor]]; 
    [webView loadHTMLString:html baseURL:nil]; 
    [self.view insertSubview:webView atIndex:0]; 

Cảm ơn bạn Trước!

+0

Ummm, nếu bạn có nội dung được đặt thành tỷ lệ và vừa khít (ví dụ: "UIViewContentModeScaleAspectFit'"), toàn bộ trang có vừa trên màn hình và không cuộn không? –

+0

@ MichaelDautermann..Tôi đã thử tắt "UIViewContentModeScaleAspectFit" nhưng tôi vẫn không thể cuộn. webView chỉ bị trả lại – Santhosh

+0

@ skokal01 có nghĩa là tất cả nội dung đều hiển thị trên màn hình để không có gì để cuộn đến – Otium

Trả lời

23

Để kích hoạt di chuyển,

webview.scrollView.scrollEnabled = TRUE; 

và thay vì viết này,

webView.contentMode = UIViewContentModeScaleAspectFit; 

viết này,

webview.scalesPageToFit = TRUE; 
+0

@krunal ... Nó không hoạt động. Bây giờ trang html của tôi bị thu nhỏ thành kích thước 1/4 của màn hình và tôi thậm chí không thể phóng to: ( – Santhosh

+0

Vui lòng xem ảnh chụp màn hình tại [UIWebView Screenshot] (http://i.imgur.com/EGQYx.png) – Santhosh

+1

kích thước của xem web của bạn là không thích hợp .. chk đó, nó phải là 'webview.frame = CGRectMake (0, 0, 770, 960);' – Krunal

0

Loại bỏ từ Interface Builder và thêm thông qua mã đã làm cho tôi . Đối với một số lý do trong IB nó đã không di chuyển.

UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 64, 320, 50)]; 
[self.view addSubview: webView]; 
0

Đây là các giải pháp khả thi.

i) Chế độ xem web của bạn có thể có kích thước lớn hơn dự kiến ​​hoặc nội dung của bạn nhỏ hơn kích thước của chế độ xem web.

2) Thực hiện phương pháp sau.

func webViewDidFinishLoad(webView: UIWebView) 
{ 
    appDelegate.hideLoadingView() 

    let res: NSString = webView.stringByEvaluatingJavaScriptFromString("document.body.offsetHeight;")! 
    let h: CGFloat = CGFloat(res.integerValue) 
    agreementContentView.scrollView.contentSize = CGSizeMake(webView.frame.size.width, h + 50); // Offset if required 
} 
Các vấn đề liên quan