有没有办法在SwiftUI中得到一个子视图的大小?
我基本上是在寻找UIKit的等价物,比如:
self.child.frame.origin.x -= self.child.intrinsicContentSize.width/2.0
我不认为GeometryReader会工作,因为它返回父对象中的可用大小。
编辑我发现可以使用.alignmentGuide(_, computeValue:)
获取并保存尺寸,尽管这绝对是一个技巧。
LessonSliderText(text: self.textForProgress(self.progress), color: self.completedColor)
.alignmentGuide(HorizontalAlignment.leading) { (dimensions) -> Length in
self.textSize = CGSize(width: dimensions.width, height: dimensions.height)
return 0
}
.offset(x: self.width*self.currentPercentage - self.textSize.width / 2.0)
.offset(y: -self.textSize.height/2.0)
.animation(nil)
.opacity(self.isDragging ? 1.0 : 0.0)
.animation(.basic())
https://stackoverflow.com/questions/56573373
复制相似问题