小编Har*_*360的帖子

如何从Swift 2中的字符串中删除特殊字符?

如何从字符串中删除特殊字符的答案 不管用.

这是我得到的,它给了我一个错误

func removeSpecialCharsFromString(str: String) -> String {
    let chars: Set<String> = Set(arrayLiteral: "abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLKMNOPQRSTUVWXYZ1234567890+-*=(),.:!_")

    return String(str.characters.filter { chars.contains($0) }) //error here at $0
}
Run Code Online (Sandbox Code Playgroud)

$ 0处的错误表示_Element(aka Character)无法转换为预期的参数类型'String'.

string ios swift

32
推荐指数
5
解决办法
3万
查看次数

使用AVPlayer在后台播放视频会产生AspectFill和循环问题

这就是我所拥有的,我希望这个视频能够填满整个屏幕(aspectFill)

playerLayer.videoGravity = kCAGravityResizeAspectFill 应该执行Aspect Fill,但我仍然会在屏幕的顶部和底部出现黑条.

最后一行应该循环视频,但它只是变暗并停止播放.

任何建议表示赞赏.

var moviePlayer: AVPlayer!

override func viewDidLoad() {
    super.viewDidLoad()    

    // Load the video from the app bundle.
    let videoURL: NSURL = NSBundle.mainBundle().URLForResource("video", withExtension: "mp4")!

    self.moviePlayer = AVPlayer(URL: videoURL)
    self.moviePlayer.muted = true

    let playerLayer = AVPlayerLayer(player: self.moviePlayer)
    playerLayer.videoGravity = kCAGravityResizeAspectFill //this not working
    playerLayer.zPosition = -1

    playerLayer.frame = self.view.frame

    self.view.layer.addSublayer(playerLayer)

    self.moviePlayer.play()

    // Loop video.
    NSNotificationCenter.defaultCenter().addObserver(self, selector: "loopVideo", name: AVPlayerItemDidPlayToEndTimeNotification, object: self.moviePlayer)
}

func loopVideo() {
    self.moviePlayer.play()
}
Run Code Online (Sandbox Code Playgroud)

video ios avplayer swift avkit

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

如何制作从 SwiftUI 列表中删除多行的动画?

请参阅演示该问题的示例视图:

struct ListRemovalTransition: View {
    let list1 = ["A", "B", "C", "D"]
    let list2 = ["A", "E", "F", "G", "H", "I", "J", "K"]

    @State var toggle = false
    var chosenList: [String] {
        toggle ? list1 : list2
    }

    var body: some View {
        VStack {
            Toggle(isOn: $toggle) {
                Text("Switch List")
            }

            List(chosenList, id: \.self) { item in
                Text(item)
                    .transition(AnyTransition.opacity.animation(.default))
            }
        }
        .padding()
    }
}

struct ListRemovalTransition_Previews: PreviewProvider {
    static var previews: some View {
        ListRemovalTransition()
    }
}
Run Code Online (Sandbox Code Playgroud)

过渡演示

期望的结果是,在不改变位置的情况下删除时,各个行会淡出。相反,发生的事情似乎是所有行在被删除之前首先相互重叠。我已向行文本添加了带有动画的过渡,但这没有影响。

animation transition list ios swiftui

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

标签 统计

ios ×3

swift ×2

animation ×1

avkit ×1

avplayer ×1

list ×1

string ×1

swiftui ×1

transition ×1

video ×1