【问题标题】:How can I except a part from a UIView for a gesture recognizer?如何将 UIView 中的一部分用于手势识别器?
【发布时间】:2013-10-22 14:22:23
【问题描述】:

我正在开发一个应用程序,我想使用UISwipeGestureRecognizer 滚动浏览不同的UIViewControllers。 一切正常,但有一件事我找不到解决方案。

我像这样添加UIGestureRecognizers

- (void)viewDidLoad {
[super viewDidLoad];
UISwipeGestureRecognizer *swipeLeft = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeLeft)];
[swipeLeft setDirection:UISwipeGestureRecognizerDirectionLeft];
[self.view addGestureRecognizer:swipeLeft];

UISwipeGestureRecognizer *swipeRight = [[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(swipeRight)];
[swipeRight setDirection:UISwipeGestureRecognizerDirectionRight];
[self.view addGestureRecognizer:swipeRight];
}

现在我想知道是否可以将self.view 的一部分除外,以便可以滑动到不同的视图。 我想围绕UISwitch 执行此操作。

有人可以帮帮我吗?

最好的问候,

卢卡斯去

【问题讨论】:

    标签: ios xcode uiview uiviewcontroller uigesturerecognizer


    【解决方案1】:

    您可以使用另一个UIView 并将其添加到self.view。那些UISwipeGestureRecognizer 不能在UIView 中工作。

    【讨论】:

    • 所以我必须在 UISwitch 上方和它周围的地方添加另一个 UIView?
    • 你可以把你的 UISwitch 放在那个视图里
    • 好的,谢谢!我会试试的。
    【解决方案2】:

    向开关添加另一个UISwipeGestureRecognizer,然后在您原来的滑动手势识别器上,调用开关的新识别器上的requireGestureRecognizerToFail:

    希望这是有道理的,这是一个如此冗长的类...:\

    【讨论】:

      【解决方案3】:

      我建议你使用手势识别器的委托方法:gestureRecognizer:shouldReceiveTouch:。 在touch 参数中,您有很多信息,例如屏幕中的位置。您可以使用此位置并测试它是否在开关框架上方。返回yesno,具体取决于您是否要触发与手势识别器关联的选择器。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多