首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于动态内容的webView高度约束

基于动态内容的webView高度约束
EN

Stack Overflow用户
提问于 2016-02-11 02:43:37
回答 1查看 3.1K关注 0票数 2

我在屏幕底部有一个嵌入式webView,它加载Facebook评论javascript插件。

我希望这个webView能够无缝地集成到屏幕中,而不会强迫用户滚动其内容。

但是,当用户点击某些webView按钮时,UI高度会发生变化,从而使webView可以滚动。

问题

如何根据webView的动态内容动态更新其高度约束?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-02-11 03:25:54

是的你能做到的。在情节提要中为您的web视图设置高度约束,然后在webviewDidFinishLoad中执行以下操作

代码语言:javascript
复制
webView.scrollView.scrollEnabled=false;
heightConstraint.constant = webView.scrollView.contentSize.height

其中heightConstraint是web视图高度约束的IBOutlet。如果需要,在修改约束后调用setNeedsLayout()。还要确保web视图的底部约束设置为滚动视图的底部,这样它就可以自由扩展。

UPDATE您可以为webview的滚动视图添加contentSize的键值观察者。你可以这样做

代码语言:javascript
复制
var myContext = 0
webView.scrollView.addObserver(self, forKeyPath: "contentSize", options: .New, context: &myContext) 
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
    if context == &myContext {
        heightConstraint.constant = webView.scrollView.contentSize.height
        //call layout update if needed
    } else {
        super.observeValueForKeyPath(keyPath, ofObject: object, change: change, context: context)
    }
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35329889

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档