class ReadScrollV: UIScrollView {
fileprivate lazy var ccc = TxtViewCustom()
}
extension ReadScrollV: DrawDoneProxy{
func done(height h: CGFloat) {
let high = h + h_newP_bottom
// var f = ccc.frame
let cccS = ccc.frame.size
// let contentS = CGSize(width: cccS.width, height: h)
// f.size = contentS
// 画蛇添足, 造成压缩效果
// draw rect 就像一幅画
// 改画的尺寸,不是搞吗
// ccc.frame = f
if proxyX == nil{
contentSize = CGSize(width: cccS.width, height: h)
}
else{
contentSize = CGSize(width: cccS.width, height: high)
proxyX?.update(height: h)
}
}
}
修改 frame ,造成的错误
// ccc.frame = f

本文详细探讨了在Swift UI框架中,如何处理ScrollView内容更新时出现的错误,特别是针对修改frame导致的显示异常。通过分析`ReadScrollV`类和`DrawDoneProxy`扩展,解释了在调整内容大小时应避免直接修改frame,以防止不必要的压缩效果。同时,介绍了正确设置`contentSize`的方法,确保滚动视图能够正确显示新增内容的高度。

被折叠的 条评论
为什么被折叠?



