ios - 在 SwiftUI 中为屏幕上和屏幕外的文本添加动画效果

标签 ios swift swiftui

我正在尝试对文本进行动画处理,使其在屏幕上滚动(用它来制作库存应用程序),我无法让它完全离开屏幕,有人可以帮忙吗...

这就是我目前所拥有的

let text = "Some text to animate"
private var is = true
var body: some View {
VStack { 
Text(text)
.fixedSize()
.frame(width: 100, alignment: is ? .trailing : .leading)
.animation(Animation.linear(duration: 5).repeatForever())
}

最佳答案

一个可能的解决方案是使用带有 .move 非对称过渡的单个文本。

这是一个简化的演示。使用 Xcode 13.4/iOS 15.5 进行测试

demo

主要部分:

var body: some View {
    GeometryReader { gp in
        VStack {
            Text(text)
                .fixedSize()
                .frame(width: gp.size.width + textWidth, alignment: .trailing)
                .id(go)
                .transition(transition)
                .onAppear{ go.toggle() }
                .animation(animation, value: go)
        }
    }.fixedSize(horizontal: false, vertical: true)
}

Test module on GitHub

关于ios - 在 SwiftUI 中为屏幕上和屏幕外的文本添加动画效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72716413/

相关文章:

ios - 有没有办法让 Apple App Store 验证框架?

ios - CoreDova APP 中的 SURLConnection/CFURLConnection HTTP 加载失败(kCFStreamErrorDomainSSL,-9824)

ios - 错误消息 'init(accessToEntityTypes:)' 无法初始化 EKEventStore

自定义控件中图层的 SwiftUI 背景颜色

swift - 如何在 SwiftUI 中添加自定义容器 View

ios - 如何实现通用的 do-try-catch block 以捕获操作中抛出的所有错误

ios - 如何识别repsonse所属的POST命令

swift 5 : Index of a Character in String

swift - 转换后如何将 Swift 3 nsmeasurement 字符串格式化为最多 2 位小数?

swift - 删除 SwiftUI 中部分之间的空白