使用'手指控制'

时间:2017-08-05 18:22:33

标签: ios swift xcode swift3 xcode9-beta

我目前正在学习Swift的基础知识,刚刚完成了iOS Application Development Tutorial from the Apple Developer website

我想创建一个滑动手势,它与目前最流行的应用程序非常相似。向右滑动以显示左侧另一个视图中的内容,基本上是“后退”。按钮,但用手势代替。

以下是我想要创建的手势的图片:gesture

Apple的教程解释了取消按钮在导航控制器中的工作原理:

    //MARK: Navigation

@IBAction func cancel(_ sender: UIBarButtonItem) {
    // Depending on style of presentation (modal or push presentation), this view controller needs to be dismissed in two different ways.
    let isPresentingInAddMealMode = presentingViewController is UINavigationController

    if isPresentingInAddMealMode {
        dismiss(animated: true, completion: nil)
    }
    else if let owningNavigationController = navigationController {
        owningNavigationController.popViewController(animated: true)
    }
    else {
        fatalError("The MealViewController is not inside a navigation controller.")
    }
}

所以(参考Apple的教程)我在' New Meal'上放置了一个 Swipe Gesture Recogniser 对象。控制器并创建了我自己的'rightSwipe'功能完全相同:

    @IBAction func rightSwipe(_ sender: UISwipeGestureRecognizer) {

    // Depending on style of presentation (modal or push presentation), this view controller needs to be dismissed in two different ways.
    let isPresentingInAddMealMode = presentingViewController is UINavigationController

    if isPresentingInAddMealMode {
        dismiss(animated: true, completion: nil)
    }
    else if let owningNavigationController = navigationController {
        owningNavigationController.popViewController(animated: true)
    }
    else {
        fatalError("The MealViewController is not inside a navigation controller.")
    }

}

这很有效,目前的应用程序非常聪明,可以识别您的条目。到视图(是否通过点击列表中的现有项目或通过“创建新项目”视图)。

现在可以用手指控制动画,而不是在屏幕向右滑动后立即执行整个动画吗?这有点难以解释......

一旦向右滑动,动画就会被执行并且当前视图被解除。直到结束,我无法控制动画。我无法动画解雇'我用手指将它拖过屏幕。

我想解释的场景非常类似于iOS主屏幕上的切换页面。

我希望能够持有'左边的屏幕,能够向下拖动它,同时按住,并且应该能够像我一样看到前一个视图,然后在我放手时立即执行视图的实际转换。我希望你理解我的意思?

如何实现这一目标?目前有什么内容可以让我这样做吗?有人能告诉我这是怎么做到的吗?

我目前正在使用Swift 3并使用Xcode9-beta IDE

0 个答案:

没有答案