2011-09-28 23 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);