2013-05-14 53 views
7

我知道這已經被問了很多次,但我無法得到它的工作。總之,我的UIWebview引入了一些沒有固定高度的HTML(寬度總是相同),我只是希望高度相應地改變。的UIWebView調整高度,以適應內容

我已經嘗試了一些修正我已經在網上找到的,但我的問題是web視圖會更改爲正確的尺寸,但只短短的一秒鐘,然後筆觸回原來的大小。

我應該指出的是,我的這一觀點是由SEGUE調用,這是我能想到的唯一的事情是不同的!我想知道如果代碼的作品,但當賽格完成交叉淡入淡出,翻轉或任何它然後重繪web視圖。

這裏是我當前的代碼(正如我所說的,我已經嘗試了很多修復,包括其中大部分都是相同的Java版本),我也玩過了scalesPageToFit和srollEnabled以及Storyboard中的一些tick。

-(void)webViewDidFinishLoad:(UIWebView *)webView 
{ 
    NSLog(@"Starting Size : %f", headerWebView.frame.size.height); 

    headerWebView.scalesPageToFit = YES; 
    headerWebView.scrollView.scrollEnabled = NO; 
    CGRect frame = headerWebView.frame; 

    frame.size.width = frame.size.width; // I used this to test, I put 200 in and it changes then flicks back too 
    frame.size.height = 1; 

    headerWebView.frame = frame; 
    frame.size.height = headerWebView.scrollView.contentSize.height; 
    headerWebView.frame = frame; 

    NSLog(@"Finished Size : %f", headerWebView.frame.size.height); 
} 

日誌說:

起始大小:176.000000 成品尺寸:246.000000

任何人有一個想法,爲什麼web視圖顯示正常只是足夠長的時間,我注意到,然後「縮水」了?

回答

3

任何人都有一個想法,爲什麼Webview似乎罰款足夠長的 讓我注意到,然後「收縮」回來?

我會說它看起來很好,因爲你正在發生的變化,因爲他們正在發生。爲什麼不在視圖生命週期的某個早期點甚至在webViewDidFinishLoading中隱藏Web視圖?如果可能會提供進一步的幫助,我將從IB分享我的佈局設置。請告知這是否有幫助或是否需要其他信息。我使用彈簧和支柱而不是自動佈局。我會嘗試這些方法,看看它是否適合你。

隱藏我的網絡視圖數據加載阻止用戶看到任何東西,直到我的所有設置/數據都到位。

NSString *path = [[NSBundle mainBundle] bundlePath]; 
    NSURL *baseURL = [NSURL fileURLWithPath:path]; 

    [webView setAlpha:0]; 
    [webView loadData:[dataString dataUsingEncoding:NSUTF8StringEncoding] MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:baseURL]; 

    [UIView animateWithDuration:0.1 animations:^{ 

     [webView setAlpha:1.0]; 

    } completion:nil]; 

Web View Springs and Struts Web View Settings

+0

感謝信息,其他原因我最終做的另一種方式。但是,我確實關閉了自動佈局,並使用彈簧支柱來解決其他許多問題。 – 2013-10-02 09:14:19

+0

@RecycledSteel - 高興的事情解決了。你會考慮接受我的回答作爲你原來問題的答案嗎? – 2013-10-02 10:21:41

相關問題