我在应用程序中有一个屏幕,我编码的结构如下:
View
ScrollView
View
label 1
label 2
label 3
View
UIImageView
WebView
加载后,它会在Web视图中添加一些html字符串,因为整个内容(标签,图像,html内容)比屏幕高度更长,我想让屏幕在用户阅读时向下/向上滚动内容。这就是我添加SrollView但没有滚动的原因!
我也做过scroll_view.contentSize = [self.view bounds].size;
,但它不起作用
关于如何做到这一点的任何想法?
提前帮忙,
的Stephane
答案 0 :(得分:2)
默认 UIScrollView 设置 contentSize
等于其 frame
大小。如果您希望它可滚动,则必须显式设置 contentSize 。
scrollView.contentSize = CGSizeMake(_width, _height);
在创建滚动视图时,大多数情况下您不会知道实际的内容大小。添加 UIWebview 后,您可以分配 contentSize (因为Web视图是滚动视图中的最后一个视图)。你可以这样做,
// 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 :(得分: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);
答案 2 :(得分:0)
您需要将UIScrollView
的{{1}}设置为两个视图+ UIWebView组合的大小。
您还需要确保contentSize
if正确大小,然后关闭滚动,因为您可能会滚动问题(另一个滚动视图)。