如何根据底部的 webview 设置 Viewcontroller 动态高度?

Posted

技术标签:

【中文标题】如何根据底部的 webview 设置 Viewcontroller 动态高度?【英文标题】:How to set Viewcontroller dynamic height according to webview at its bottom? 【发布时间】:2017-01-09 11:16:59 【问题描述】:

我有一个视图控制器,它具有各种组件,而其底部的 webview 一切都在 ScrollView 内,但我最终双滚动主滚动视图之一和 web 视图中的一个。如何将主视图的高度设置为动态增加,以使 webview 占据其全高并且我不会获得双滚动? 我尝试过这样的事情:

func webViewDidFinishLoad(webView: UIWebView) 

        myWebView.frame.size.height = 1
        myWebView.frame.size = webView.sizeThatFits(CGSizeZero)
    

来自这个答案:here

正如下面答案中所建议的那样,我这样做了

mainScroll.contentSize = CGSizeMake(mainScroll.contentSize.width, mainScroll.contentSize.height + webView.scrollView.contentSize.height);

根据 webview 的内容大小增加滚动视图的高度,但 UIWebview 的高度保持不变..

【问题讨论】:

【参考方案1】:

在告诉加载已完成的 Web 视图委托方法中,您可以执行以下操作

mainScroll.contentSize = CGSizeMake(mainScroll.contentSize.width, mainScroll.contentSize.height + webView.scrollView.contentSize.height);

我认为这会奏效。

增加网页视图的大小

webView.frame = CGRectMake(webView.frame.origin.x, webView.frame.origin.y, webView.frame.size.width, webView.scrollView.contentSize.height);

【讨论】:

对不起,我的代码在目标 c 中,但逻辑也可以在 swift 中运行。 是的,这段代码增加了scrollview的高度,但webview的高度保持不变 我对我的回答做了一些修改,这将改变网页视图的框架。如果它对您有用,请不要忘记接受答案。

以上是关于如何根据底部的 webview 设置 Viewcontroller 动态高度?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用一个 Webview 进行底部活动

Nativescript-Vue中如何根据内容长度设置WebView的高度?

2020-09-18 设置沉浸式状态栏,WebView底部输入框被键盘挡住问题

适配iphoneX底部的小黑条

Android 底部导航栏在 webview 中登录后显示

如何在运行时更改 webview 的高度?