首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SwiftUI -获取孩子的大小?

SwiftUI -获取孩子的大小?
EN

Stack Overflow用户
提问于 2019-06-13 12:28:02
回答 4查看 10.1K关注 0票数 18

有没有办法在SwiftUI中得到一个子视图的大小?

我基本上是在寻找UIKit的等价物,比如:

代码语言:javascript
复制
self.child.frame.origin.x -= self.child.intrinsicContentSize.width/2.0

我不认为GeometryReader会工作,因为它返回父对象中的可用大小。

编辑我发现可以使用.alignmentGuide(_, computeValue:)获取并保存尺寸,尽管这绝对是一个技巧。

代码语言:javascript
复制
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())

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56573373

复制
相关文章

相似问题

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