ios - 将手势识别器实现为两个 View Controller 之间的 Segue

标签 ios swift xcode uiviewcontroller uigesturerecognizer

我正在构建一个名为 Single Photo 的应用程序。它是 Apple 的“学习编码”iBook 的一部分。我已经构建了原始应用程序,但现在想对其进行扩展。

我在 Main.storyboard 中添加了第二个 View Controller ,以及一个 UIImageView。但是,我不确定如何将两个 View Controller 连接在一起。我知道我必须添加一个 segue,但我想使用滑动手势(如照片库)。建议我使用 UIPanGestureRecognizer 作为 UISwipeGestureRecognizer 的替代品。

我的困惑是我不确定如何实现 UIGestureRecognizer。我是否必须将它实现为两个 View Controller 之间的连接?那是有道理的。

tl;dr:如何将 UIGestureRecognizer 实现为两个 View Controller 之间的连接?

编辑:当我进行一些更改时,出现了屏幕截图中显示的错误。 {1}:/image/JpViy.png {1}

最佳答案

为此我会使用滑动手势;对我来说,这似乎是通过触摸改变 View 最自然的方式?

虽然遗憾的是我还不了解 Swift,但我会这样做;

  1. 使用 Interface Builder 将手势识别器对象添加到您的 View 中。您会在要添加的对象列表(Label、TextField 等)中找到它。

  2. 在您的 ViewController.m 中添加一个 IBAction 方法并在您的 .h 中声明它也像:

- (IBAction)handleSwipe:(UISwipeGestureRecognizer *)recognizer

  1. 将 Interface Builder 中的手势识别器作为“已发送操作”连接到 IBAction

  2. 通过按住 Control 键并单击第一个 View Controller 并将蓝线拖到第二个 View 来创建一个新的 Segue。给这个segue一个唯一标识,并设置segue的样式。

  3. 根据滑动方向处理 IBAction 中的手势,并从此处调用 segue;

    [self performSegueWithIdentifer:@"theSegue"sender:self];

看看能不能帮到你

关于ios - 将手势识别器实现为两个 View Controller 之间的 Segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40053755/

相关文章:

ios - swift 的新手,我的程序会在按下打开时崩溃

javascript - 使用覆盖 hack 隐藏 iOS 7 中的工具栏

ios - 以编程方式将 UILabel 添加到自定义 tableViewCell

ios - 如何在 Swift 中使用相机自动拍照

ios - geocodeAddressString 不适用于某些地址

ios - 触摸 move UILabel 一直有效,直到值修复 - 错误还是功能?

ios - 无法在自定义 TableView 单元类的 bundle 中加载 NIB

ios - 从内存中删除未使用的 ViewController

iOS - 播放任意宽高比的视频

ios - iPhone 上的 Swift 表单