2011-09-28 19 views
0

我在一個應用程序我編碼結構像這樣的畫面:如何使這個應用程序屏幕滾動?

View 
    ScrollView 
     View 
      label 1 
      label 2 
      label 3 
     View 
      UIImageView 
     WebView 

當加載它增加了一些HTML字符串到Web瀏覽和全部內容(標籤,圖像,html內容)是比屏幕高度更長,我想讓屏幕在用戶閱讀內容時向下/向上滾動。這就是爲什麼我添加了SrollView但沒有滾動!

我也做是scroll_view.contentSize = [self.view bounds].size;但它沒有工作

如何做到這一點任何想法?

THX提前幫助,

斯特凡

回答

0

您需要設置UIScrollViewcontentSize是兩個視圖+的結合UIWebView的大小。您可能還需要確保UIWebView如果尺寸合適,然後關閉滾動,否則您可能會滾動問題(另一個滾動視圖中出現一個滾動視圖)。

更多信息:http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIScrollView_Class/Reference/UIScrollView.html

+0

我所做的是scroll_view.contentSize = [self.view界] .size;但它沒有工作 – user963160

+0

'CGSizeMake(scrollView.contentSize.width,CGRectGetMaxY(UIWebView));'UIWebView應該是實例,而不是類。 – hypercrypt

2

默認情況下的UIScrollView設置一個等於其frame大小contentSize。如果您希望它是可滾動的,則必須明確設置contentSize

scrollView.contentSize = CGSizeMake(_width, _height); 

大多數情況下,您在創建滾動視圖時不會知道實際內容大小。添加UIWebview(因爲Web視圖是滾動視圖中的最後一個視圖)後,您可以分配contentSize。你可以像這樣做,

// Add other views to scrollView 
// Create and configure webView 
[scrollView addSubview:webView]; 

float _width = scrollView.contentSize.width; // No change in width 
float _height = CGRectGetMaxY(webView); // Returns (webView.frame.origin.y + webView.frame.size.height) 
scrollView.contentSize = CGSizeMake(_width, _height); 
1

下面的代碼ü觀察這裏的「身高」動態聲明爲您的要求

EXample : 
if([Myarray length]>25) 
{ 

myString = [myString stringByAppendingFormat:@"<tr><th align=\"left\">%@</tr>",str_owes ]; 
height += 50; 
} 

    webview.frame=CGRectMake(25, 153, 420, height); 
[webview loadHTMLString:myString baseURL:nil]; 

scrollview.contentSize=CGSizeMake(0, webview.frame.origin.y+webview.frame.size.height+50);