ios - swift : show another view controller on swipe up in first view controller

标签 ios iphone swift uiswipegesturerecognizer

您好,我检查了很多关于在 SO 中刷卡的问题,但有疑问。

在我的应用程序中,我有两个页面 1.用户 View Controller 2.问题 View Controller

用户页面是这样的 userpage

现在我想要实现的是在从底部向上滑动用户屏幕时显示问题 View Controller 。

我是 Ios 的新手,请帮助我实现这一目标。

编辑:

问题是向上滑动时它应该开始显示另一个 View Controller 。如果我滑动到屏幕中间,手指仍然触摸屏幕,那么它应该显示 2 个 View Controller 。我可以像这样使用 push/pop 来实现吗

enter image description here

最佳答案

您可以使用自动布局和滑动手势来实现这一点。棘手的部分是为您的 View 设置约束。向您的 View 添加一个负高度常量约束,使其不显示在 View 中。

@IBOutlet weak var yourViewBottomConstraint: NSLayoutConstraint! //Create IBOutlet of bottom Contraint to YourView

let swipeUp = UISwipeGestureRecognizer() // Swipe Up gesture recognizer
let swipeDown = UISwipeGestureRecognizer() // Swipe Down gesture recognizer OR You can use single Swipe Gesture

比你的 viewDidLoad()

Override func viewDidLoad() {
// Swipe Gesture
        swipeUp.direction = UISwipeGestureRecognizerDirection.up
        swipeUp.addTarget(self, action: "swipedViewUp")
        drawerButton.addGestureRecognizer(swipeUp) // Or assign to view

        swipeDown.direction = UISwipeGestureRecognizerDirection.down
        swipeDown.addTarget(self, action: "swipedViewDown")
        drawerButton.addGestureRecognizer(swipeDown) // Or assign to view
}

滑动 View 的方法

 // Toggle Swipe Action for imagesContainer
func swipedViewUp(){

    self.yourViewBottomConstraint.constant = +90 // Or set whatever value

    print("Swiped Up")
}

func swipedViewDown(){

    self.yourViewBottomConstraint.constant = -90 // Or Set whatever value


    print("Swiped Down")
}

关于ios - swift : show another view controller on swipe up in first view controller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035047/

相关文章:

Swift 惯用的错误检查

ios - 秒表只能在 Swift 中第一次正常工作

ios - 什么是我的应用程序的更好选择 - CoreData 或 plist?

swift - 从 FinderSync 扩展启动 macOS 应用程序

iphone - insertNewObjectForEntityForName : inManagedObjectContext: returning NSNumber bug?

iphone - 在动画 `UITableView` 时动画 `tableHeaderView` 标题

ios - 无法在发布请求 ios swift 中发布参数

ios - 始终(强制)输入小写或大写 - iOS swift

ios - MPSImageHistogramEqualization 抛出偏移量必须小于 [缓冲区长度] 的断言

iphone - IOS Urban Airship 。如何处理通知