UILongPressGestureRecognizer

UILongPressGestureRecognizer

我在ViewDidLoad中创建了一个longpress手势识别器,然后将其附加到这样的按钮上,该按钮在情节提要中创建并链接到我的课程。

UILongPressGestureRecognizer *hold = [[UILongPressGestureRecognizer alloc] initWithTarget:self action:@selector(secretChange:)];
hold.minimumPressDuration = 5.0;
hold.delegate = self;

[_button addGestureRecognizer:hold];


该类符合GestureRecognizer协议,在这里有我的选择器

- (void)secretChange:(UILongPressGestureRecognizer *)sender {
    // Some stuff
    NSLog(@"Secret");
}


没有调用选择器,我也不知道为什么,这似乎是每个人在互联网上给出的代码,我尝试删除最短持续时间以确保我不会不小心将其设置得很长

更新:我实际上是将此手势识别器添加到这样的多个按钮中

[_button1 addGestureRecognizer:hold];
[_button2 addGestureRecognizer:hold];
[_button3 addGestureRecognizer:hold];


发生的情况是手势识别器仅应用于我添加了手势的最后一个按钮。如何将手势识别器添加到所有按钮?我需要为每个按钮制作一个新的按钮吗?

最佳答案

您应该有三个UILongPressGestureRecognizer实例。

在将手势识别器添加到新视图之前,addGestureRecognizer方法将从其附加到的视图中删除手势识别器。

关于ios - UIButton上的UILongPressGestureRecognizer无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24235841/

10-13 06:34