我已将UIScrollView
推入UIWebView
:
self.scrollView = UIScrollView(frame: CGRect(x: 0, y: 64, width: CGRectGetWidth(self.view.frame), height: CGRectGetHeight(self.view.frame) - 108))
self.scrollView.backgroundColor = .grayColor()
self.view.addSubview(self.scrollView)
self.webView = UIWebView(frame: CGRect(x: 0, y: 0, width: CGRectGetWidth(self.scrollView.frame), height: CGRectGetHeight(self.scrollView.frame)))
self.webView.backgroundColor = .orangeColor()
self.scrollView.addSubview(self.webView)
现在,我想更改scrollView
和webView
高度。为此我做了:
func webViewDidFinishLoad(webVieww: UIWebView) {
self.scrollView.frame.size.height = self.webView.scrollView.contentSize.height
self.webView.frame.size.height = self.webView.scrollView.contentSize.height
}
但没有运气。它不会更改UIScrollView
和UIWebView
的高度值。
我该怎么做?
答案 0 :(得分:0)
您可以尝试layoutSubview,例如: [self.scrollView layoutSubview]; [self.webView layoutSubview];
答案 1 :(得分:0)
要更新帧或高度/宽度 - 您首先要将translatesAutoresizingMaskIntoConstraints
设置为false
,然后根据要求设置帧。如果这不起作用,请在viewWillLayoutSubviews()
中进行更改。这方面的一个例子如下:
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
let width = UIScreen.mainScreen().bounds.width
myView.translatesAutoresizingMaskIntoConstraints = false
myView.contentSize = CGSizeMake(width, self.mySecondView.frame.height * 4)
}