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

标签 ios objective-c webview uiscrollview

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

我不知道我该怎么做?

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

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

最佳答案

灵魂比你想象的要复杂

首先添加一个scrollView

@property (nonatomic, strong) UIScrollView            * scrollView;

然后从 View 中将其添加为 subview

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 View 的最终 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);
}

关于ios - 如何使用相同的滚动 IOS 滚动两个 UILabel 和一个 UIWebView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21452857/

相关文章:

安卓异步WebView

ios - UIView 图层上的阴影

ios - 从 plist 中检索多行

iphone - 在iPhone邮件应用程序上绘制蓝色 "unread dot"

objective-c - NSTokenField 委托(delegate)

java - 如何取消加载网站的 webview?

android - 简单的 webview 示例捕获了安全异常

ios - 给定电话号码,如何在 iOS 中调用电话?

javascript - 我可以在 phonegap-cordova 中编写一个插件,它可以作为第三方工具集成到所有 native 和混合应用程序中吗?

objective-c - 在接口(interface)文件中导入类和前向声明(@class)有什么区别?