如何使用相同的滚动IOS滚动两个UILabel和UIWebView?

时间:2014-01-30 09:46:42

标签: ios objective-c webview uiscrollview

我想将两个UILabel和一个UIWebView组合成这三个组件只有一个滚动。

我不知道怎么能这样做?

我尝试在.XIB中使用包含标签和UIWebView的UIScrollView但它不起作用。

如果可能,我想要一个图形解决方案。

3 个答案:

答案 0 :(得分:1)

你实际上认为灵魂更加复杂

首先添加一个scrollView

@property (nonatomic, strong) UIScrollView            * scrollView;

然后将其添加为View

中的子项
self.scrollView                 = [[UIScrollView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:self.scrollView];

但最复杂的部分是webview,因为它有自己的滚动部分来修复它 -

self.webViewNewsBody.scrollView.scrollEnabled = NO;
        self.webViewNewsBody.scrollView.bounces = NO;
        [self.scrollView addSubview:self.webViewNewsBody];

然而,您无法找到Web视图的最终ht因此等到它加载其内容

    - (void)webViewDidFinishLoad:(UIWebView *)webView {
            CGRect frame;
            float webHt = [[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.scrollHeight;"] floatValue];
        // Finally set the total ht for the scroll view 
     self.scrollView.contentSize = CGSizeMake(SCREEN_WIDTH, 300 + webHt);
}

答案 1 :(得分:0)

首先为您制作Outlets标签和webView

[UIView animateWIthDuration:0.2 animations:(^{
    CGFrame fr = self.labelFirst.frame;
    frame.origin.y += 50;
    self.labelFirst.frame = fr;
    fr = self.labelSecond.frame;
    fr.origin.y += 50;
    self.labelSecond.frame = fr;
    fr = self.webView.frame;
    fr.origin.y += 50;
    self.webView.frame = fr;
}];

答案 2 :(得分:0)

使webView Scrollable no

webView.scrollView.scrollEnabled = NO;