首先,我不是问如何在后台播放AVPlayer。有很多解决方案。我的问题有点不同。
我的应用程序中的 AVPlayer 正在播放“AVPlayerItem”数组。当最后一首歌完成后,我从第一首歌曲开始播放。当应用程序处于活动状态时,这完全可以正常工作,但是,如果在播放歌曲时按下主页按钮,最后一首歌曲就会在后台播放完毕。现在播放器停在这里,不再开始第一首歌曲。
知道为什么会出现这种行为以及解决方案是什么。
如何在我的名册中添加多个用户?现在我可以一次添加一个用户.但现在我必须与XMPP同步设备联系.使用后端API我可以过滤掉在应用程序中注册的联系人.现在将它们逐一添加到名册中需要花费太多时间.
那么有没有更快捷的方式将多个联系人添加到名册中?
我已经经历了很多像这样的问题,但是他们没有帮助.
并且过滤设备与后端API联系是一种很好的方法,还是我应该做其他事情?
我想要一个具有横格纸外观的多行文本输入字段,其中每个输入行下方都有一条下划线,文本将跨越视图的宽度。
这就是我想做的设计。行数可能会改变。
我考虑过:
这些对我来说听起来都不合理,所以我正在寻找其他可以让我指明正确方向的想法。
@State var documents: [ScanDocument] = []
func loadDocuments() {
guard let appDelegate =
UIApplication.shared.delegate as? AppDelegate else {
return
}
let managedContext =
appDelegate.persistentContainer.viewContext
let fetchRequest =
NSFetchRequest<NSManagedObject>(entityName: "ScanDocument")
do {
documents = try managedContext.fetch(fetchRequest) as! [ScanDocument]
print(documents.compactMap({$0.name}))
} catch let error as NSError {
print("Could not fetch. \(error), \(error.userInfo)")
}
}
Run Code Online (Sandbox Code Playgroud)
在第一个视图中:
.onAppear(){
self.loadDocuments()
}
Run Code Online (Sandbox Code Playgroud)
现在我正在推动详细查看单个对象:
NavigationLink(destination: RenameDocumentView(document: documents[selectedDocumentIndex!]), isActive: $pushActive) {
Text("")
}.hidden()
Run Code Online (Sandbox Code Playgroud)
在重命名文档视图中:
var document: ScanDocument
Run Code Online (Sandbox Code Playgroud)
此外,还有一个更新文档名称的函数:
func renameDocument() {
guard !fileName.isEmpty else {return}
document.name = fileName …Run Code Online (Sandbox Code Playgroud) 我想在绘制的路径上为我的拇指图层添加动画效果.我可以根据值为动画层设置动画,但是移动整个图层不起作用.
func setProgress(_ value:Double, _ animated :Bool) {
let progressAnimation = CABasicAnimation(keyPath: "strokeEnd")
progressAnimation.duration = animated ? 0.6 : 0.0
progressAnimation.fromValue = currentValue
progressAnimation.toValue = value
progressAnimation.timingFunction = CAMediaTimingFunction(name: CAMediaTimingFunctionName.linear)
progressLayer.strokeEnd = CGFloat(value)
progressLayer.add(progressAnimation, forKey: "animateprogress")
}
Run Code Online (Sandbox Code Playgroud)
使用此功能,我可以为进度图层设置动画.而且我被困在动画拇指位置上.
我尝试了一些东西,但它没有用.
尝试失败1
guard let path = thumbLayer.path else {return}
let center = CGPoint(x: frame.width/2, y: frame.height/2)
let radius = min(frame.width, frame.height)/2 - max(trackWidth, max(progressWidth, thumbWidth))/2
let thumbAngle = 2 * .pi * currentValue - (.pi/2)
let thumbX = CGFloat(cos(thumbAngle)) * radius
let …Run Code Online (Sandbox Code Playgroud) ios ×5
swift ×4
avplayer ×1
caanimation ×1
calayer ×1
cashapelayer ×1
core-data ×1
iphone ×1
swiftui ×1
swiftui-list ×1
xmpp ×1