gpt4 book ai didi

ios - 我如何将文本的字体大小从.largeTitle设置为.headline动画

转载 作者:行者123 更新时间:2023-12-01 21:30:44 38 4
gpt4 key购买 nike

我有一个想要从.largeTitle to .headline中减小字体大小的文本
这是我到目前为止正在尝试的操作(不起作用):

struct MyView: View {
@State private var fontSize: CGFloat = 100

var body: some View {
GeometryReader { geometry in
Text("Big Text - Small Text")
.font(.system(size: self.fontSize))
.onAppear {
withAnimation(Animation.linear(duration: 10)) {
// what do I do here?
}
}
}
}
}

最佳答案

默认情况下,字体大小不可设置动画。以下解决方案基于自定义的动画修改器。
经过Xcode 12 / iOS 14测试
demo

struct AnimatingFontSize: AnimatableModifier {
var fontSize: CGFloat

var animatableData: CGFloat {
get { fontSize }
set { fontSize = newValue }
}

func body(content: Self.Content) -> some View {
content
.font(.system(size: self.fontSize))
}
}

struct DemoFontView: View {
@State private var smallFont = false

var body: some View {
Text("Big Text - Small Text")
.frame(maxWidth: .infinity)
.modifier(AnimatingFontSize(fontSize: smallFont ? 11 : 100))
.animation(Animation.linear(duration: 10), value: smallFont)
.onAppear {
smallFont = true
}
}
}

关于ios - 我如何将文本的字体大小从.largeTitle设置为.headline动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63027193/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com