【问题标题】:Can I add a custom UIGestureRecognizer subclass to a UIView in my Storyboard?我可以将自定义 UIGestureRecognizer 子类添加到我的 Storyboard 中的 UIView 吗?
【发布时间】:2014-08-09 03:57:07
【问题描述】:

这可能吗?我制作了一个自定义 UIGestureRecognizer 子类,并希望将其附加到我的 Storyboard 中的视图中。这是否可以不以编程方式完成?

【问题讨论】:

  • 这看起来很有希望:useyourloaf.com/blog/2011/11/24/…。 (ps - 我搜索了你帖子的标题,这是发帖前的一个很好的步骤)。
  • @danh 这些正在使用 Apple 的默认 UIGestureRecognizer 子类。我想创建自己的并使用它。
  • 哦,明白了。将创建一个答案。

标签: ios uiview interface-builder uigesturerecognizer uistoryboard


【解决方案1】:

界面生成器中提供了手势识别器(请参阅this tutorial)。 Apple 派生的 UIGestureRecognizer 子类是唯一出现的子类,但在我看来,您可以使用自己的子类。

为了让子类坚持下去,我必须让我的 UIGestureRecognizer 子类成为我在 IB 中添加的 Apple 识别器的子类,将类更改为我在 Interface Builder 中的子类,然后将其更改回 UIGestureRecognizer 子类。

【讨论】:

  • 这似乎很容易在未来的版本中出现问题,不是吗?
  • @DougSmith 可能。你不能 100% 确定 Interface Builder 对这些手势识别器做了什么。如果你想确保未来的 Xcode 更新不会破坏,我会在代码中创建它们。
【解决方案2】:

您可以通过将通用对象添加到场景中来创建出口并实例化 IB 中的任何对象(SDK 类的子类或非 SDK 类的子类)。在IB Object库中搜索“NSObject”,并拖入。

完成此操作后,将其在类检查器中的类更改为您的 GR 子类,并按照您通常的方式创建一个出口。在 viewDidLoad(或 awakeFromNib)中,设置插座的视图及其目标/动作。

做完这一切,让 IB 实例化您的自定义 gr。这个想法没有做的是在 IB 中设置视图和目标。我无法想象为什么需要这样做(与代码相比),但也许你有一个我想不出的充分理由。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-20
    • 2019-08-30
    相关资源
    最近更新 更多