小编rv7*_*284的帖子

如何从后台启动AVPlayer?

首先,我不是问如何在后台播放AVPlayer。有很多解决方案。我的问题有点不同。

我的应用程序中的 AVPlayer 正在播放“AVPlayerItem”数组。当最后一首歌完成后,我从第一首歌曲开始播放。当应用程序处于活动状态时,这完全可以正常工作,但是,如果在播放歌曲时按下主页按钮,最后一首歌曲就会在后台播放完毕。现在播放器停在这里,不再开始第一首歌曲。

知道为什么会出现这种行为以及解决方案是什么。

ios avplayer swift

5
推荐指数
1
解决办法
1430
查看次数

在XMPP名单中添加多个用户

如何在我的名册中添加多个用户?现在我可以一次添加一个用户.但现在我必须与XMPP同步设备联系.使用后端API我可以过滤掉在应用程序中注册的联系人.现在将它们逐一添加到名册中需要花费太多时间.

那么有没有更快捷的方式将多个联系人添加到名册中?

我已经经历了很多像这样的问题,但是他们没有帮助.

并且过滤设备与后端API联系是一种很好的方法,还是我应该做其他事情?

xmpp ios xmppframework swift

5
推荐指数
1
解决办法
350
查看次数

如何制作多行、下划线的UITextView/UITextField?

我想要一个具有横格纸外观的多行文本输入字段,其中每个输入行下方都有一条下划线,文本将跨越视图的宽度。

例如: 示例图像

这就是我想做的设计。行数可能会改变。

我考虑过:

  • 使用 UITextView 并放置线条背景。
  • 使用文本字段并为每个文本字段添加下划线。

这些对我来说听起来都不合理,所以我正在寻找其他可以让我指明正确方向的想法。

iphone ios swift

4
推荐指数
1
解决办法
2183
查看次数

在其他视图中更新核心数据属性时,SwiftUI 列表不会更新

@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)

core-data ios swiftui swiftui-list

4
推荐指数
2
解决办法
1414
查看次数

在圆形路径上动画CAShapeLayer

我想在绘制的路径上为我的拇指图层添加动画效果.我可以根据值为动画层设置动画,但是移动整个图层不起作用.

在此输入图像描述

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)

calayer cashapelayer caanimation ios swift

1
推荐指数
1
解决办法
360
查看次数