swift 代码片段

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了swift 代码片段相关的知识,希望对你有一定的参考价值。

    func panGestureAction(_ panGesture: UIPanGestureRecognizer) {
        let translation = panGesture.translation(in: view)
        
        if panGesture.state == .began {
            originalPosition = view.center
            originalPositionNC = navigationController?.navigationBar.center
            currentPositionTouched = panGesture.location(in: view)
        } else if panGesture.state == .changed {
            if (translation.y > 0){
                view.frame.origin = CGPoint(
                    x:  view.frame.origin.x,
                    y:  view.frame.origin.y + translation.y
                )
                self.navigationController?.navigationBar.frame.origin = CGPoint(
                    x: self.view.frame.origin.x,
                    y:  view.frame.origin.y + translation.y
                )
                panGesture.setTranslation(CGPoint.zero, in: self.view)
            }
            
        } else if panGesture.state == .ended {
            let velocity = panGesture.velocity(in: view)
            if velocity.y >= 150 {
                UIView.animate(withDuration: 0.2
                    , animations: {
                        self.view.frame.origin = CGPoint(
                            x: self.view.frame.origin.x,
                            y: self.view.frame.size.height
                        )
                        self.navigationController?.navigationBar.frame.origin = CGPoint(
                            x: self.view.frame.origin.x,
                            y: self.view.frame.size.height
                        )
                }, completion: { (isCompleted) in
                    if isCompleted {
                        self.dismiss(animated: false, completion: nil)
                    }
                })
            } else {
                UIView.animate(withDuration: 0.2, animations: {
                    self.view.center = self.originalPosition!
                    self.navigationController?.navigationBar.center = self.originalPositionNC
                })
            }
        }
    }

以上是关于swift 代码片段的主要内容,如果未能解决你的问题,请参考以下文章

如何将这个 Objective-C 代码片段写入 Swift?

如何使用 Swift 使用此代码片段为 iOS 应用程序初始化 SDK?

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

Swift新async/await并发中利用Task防止指定代码片段执行的数据竞争(Data Race)问题

swift 为什么我们有一个片段。我认为这有助于我们在另一个页面中有一个代码。

swift BaasBox和Swift的片段 - 第2部分