UIScrollView可滚动区域未使用scrollView框架约束更新

时间:2017-12-12 17:34:05

标签: swift uiscrollview constraints

我正在更新帧约束

scrollView.top Equal container.top

从常量中减去,然后调用layoutIfNeeded()

滚动视图的框架更新正常,内容随附,但在滚动视图获取的新区域(滚动视图上方),拖动时不会触发滚动事件。旧区工作。

我已尝试更新contentOffset,但有效地将内容滚动到scrollview内部,而不是扩展可滚动区域

我正在更新contentSize,但似乎问题是contentSize从哪里开始

我已经尝试更新contentInset,它仍然只是在不更新可滚动区域的情况下移动内容

也许有一个属性需要更新,但我无法找到它

这里的最终目标是以编程方式增加scrollView的大小

这里是scrollViewDidScroll,我在这里更新约束

func scrollViewDidScroll(_ scrollView: UIScrollView) {

    let newVal:CGFloat = -120.0
    DispatchQueue.main.async { [unowned self] in
        self.feedTableViewTopConstraint.constant = newVal
        self.view.layoutIfNeeded()
    }

}

1 个答案:

答案 0 :(得分:0)

你应该致电

setNeedsLayout()

相反,如果你想在同一个循环中发生layoutIfNeeded(),那么你可以在调用setNeedsLayout()之后立即调用它。