我写了一个视图来在 SwiftUI 中创建打字机效果 - 当我传入绑定变量时,它第一次工作正常,例如:TypewriterTextView($textString)
但是,任何后续 textString 值更改时它将不起作用(因为绑定值未直接放置在正文中)。我对如何在视图中更改 @Binding 变量时手动通知的任何想法感兴趣。
struct TypewriterTextView: View {
@Binding var textString:String
@State private var typingInterval = 0.3
@State private var typedString = ""
var body: some View {
Text(typedString).onAppear() {
Timer.scheduledTimer(withTimeInterval: self.typingInterval, repeats: true, block: { timer in
if self.typedString.length < self.textString.length {
self.typedString = self.typedString + self.textString[self.typedString.length]
}
else { timer.invalidate() }
})
}
}
}
Run Code Online (Sandbox Code Playgroud) 我在使用AVPlayer在快速游乐场内播放视频时遇到问题.
这是我的代码.
import UIKit
import AVFoundation
var f=CGRectMake(0, 0, 500, 500)
var url=NSURL(string: "http://s3.amazonaws.com/vids4project/sample.mp4")
var playerItem = AVPlayerItem(URL: url)
var v = UIView(frame:f)
var player=AVPlayer(playerItem: playerItem)
var playerLayer=AVPlayerLayer(player: player)
playerLayer.frame=f
v.layer.addSublayer(playerLayer)
player.play()
Run Code Online (Sandbox Code Playgroud)
有什么建议?代码完全没有任何作用.我的期望是'v'变量应该显示视频.当我将avplayerlayer连接到故事板的视图时,它似乎在操场外工作.