我在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/