swift - 使用 Swift 实现 UISwipeGestureRecognizer

标签 swift events uiswipegesturerecognizer xcode6.3 ios8.3

我有一个包含三个选项卡的选项卡式应用程序,我想使用滑动手势识别器在它们之间进行转换。

  1. 我将一个滑动手势识别器从对象库拖放到第一个 View ,再将一个拖放到第三个 View 。我在第二个 View 上添加了两个,这样我就可以左右滑动。
  2. 我将 Swipe 更改为 Attribute Inspector,因此它会根据需要向右或向左滑动
  3. 使用辅助编辑器,我使用 Control+Drag 为正确的 ViewController.swift 文件创建 Action 。

我还应该做什么才能让滑动正常工作? 我在网上找到的所有指南都在 Objective-C 中。有谁知道如何在 Swift 中完成这些事件?

Main Storyboard

FirstViewController.swift file

最佳答案

您必须应用自定义 View Controller 转换。否则,您的选项卡转换将既不是动画的(默认情况下选项卡切换没有动画)也不是交互式的(您无法用手势控制速度)。

Colin Eberhardt 的 VC Transitions Library 是一个很好的起点.它在 Objective-C 中,但您可以在 Swift 中使用它。

只是一个警告:自定义 View Controller 转换是 iOS 7 或 8 的不成熟部分。如果在自定义 View 转换仍在运行时启动另一个 View 转换,UI 将或多或少地锁定。这很容易发生:用户在转换结束前按下另一个选项卡,您的代码切换选项卡并同时推送 View Controller ,用户设法在打开另一个 View Controller 的转换期间按下按钮等。

关于swift - 使用 Swift 实现 UISwipeGestureRecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29794619/

相关文章:

ios - 在 Swift 中从 UITableView 中删除一个单元格

jquery - 谷歌分析事件跟踪集成。还有其他人找到更好的解决方案吗?

指向内存块中任意字节的 COpaquePointer

ios - Post 方法不在 api 调用中发送我的数据

ios - 目前正在尝试将 Swift 3 编写的模块迁移到 Swift 2.3

events - Symfony2 : PrePersist/PreUpdate lifecycle-event not fired

python - root.overrideredirect 和 <Any-KeyPress> 绑定(bind)

ios - 如何使用手势 swift iOS 转换到 View Controller

ios - Swift 中的滑动页面转换

cocos2d-iphone - 如何在cocos2d创建的项目中使用UISwipeGestureRecognizer?