我正在触发UILongPressGesture时调用UIPopover。 UIPopOver出现,显示正常,一切都没关系。
当手指抬起或移动结束手势时,我希望UIPopover消失。我这样做是通过指定:
if (longPress.state == UIGestureRecognizerStateEnded) {
[thePopover dismissPopoverAnimated:YES];
NSLog(@"you let off");
}
这不起作用。 NSLog会触发但是dismissPopover不会触发。很奇怪,如果我构建一个调用dismissPopover并将其包装在performSelector:withObject:afterDelay:中的方法,那么它可以正常工作除非我把它放在
中if (longPress.state == UIGestureRecognizerStateEnded) {
[self performSelector:@selector(releasePopover:) withObject:thePopover afterDelay:2.0];
NSLog(@"you let off");
}
有关为什么会这样的想法?