Iphone 布尔值始终为false,即使我强制为true
我有一个UIView,在使用UILongPressGestureRecognitor之前,我先使用UIPangEstureRecognitor。对于UIPanGestureRecognizer,我收到一条关于UILongPressGestureRecognizer压力的消息,但我的应用程序不接受布尔值,即使我强制为真,这也始终为假。我该怎么办Iphone 布尔值始终为false,即使我强制为true,iphone,objective-c,boolean,uigesturerecognizer,uipangesturerecognizer,Iphone,Objective C,Boolean,Uigesturerecognizer,Uipangesturerecognizer,我有一个UIView,在使用UILongPressGestureRecognitor之前,我先使用UIPangEstureRecognitor。对于UIPanGestureRecognizer,我收到一条关于UILongPressGestureRecognizer压力的消息,但我的应用程序不接受布尔值,即使我强制为真,这也始终为假。我该怎么办 -(IBAction)longGesture:(UILongPressGestureRecognizer *)gestureRecognizer{
-(IBAction)longGesture:(UILongPressGestureRecognizer *)gestureRecognizer{
if(fromRiga ==0){
if ([gestureRecognizer state]==UIGestureRecognizerStateBegan){
self.inLongPress = YES;
self.view.backgroundColor =[UIColor darkGrayColor];
gestureRecognizer.allowableMovement=200;
}else if([gestureRecognizer state]==UIGestureRecognizerStateEnded){
self.inLongPress = NO;
}
}
- (IBAction)panGesture:(UIPanGestureRecognizer *)gestureRecognizer
{
NSLog(@"inLongPress is %@", self.inLongPress ? @"YES": @"NO");
}
“提前感谢”当您触摸视图时,平移识别器会立即触发,并从那时起检查移动情况。长按识别器的触发时间总是比平移识别器的触发时间晚得多(长时间结束后)。我怀疑
panGesture
总是在longshirpose
之前调用。也许pan识别器完全取消了长按识别器
您应该通过添加更多的NSLog
语句来检查发生了什么
-(IBAction)longGesture:(UILongPressGestureRecognizer *)gestureRecognizer {
NSLog(@"Long gesture");
if (fromRiga == 0){
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan){
self.inLongPress = YES;
self.view.backgroundColor =[UIColor darkGrayColor];
gestureRecognizer.allowableMovement=200;
NSLog(@"Long gesture began, self.iLongPress = %@", self.iLongPress ? @"YES" : @"NO");
} else if([gestureRecognizer state] == UIGestureRecognizerStateEnded) {
self.inLongPress = NO;
NSLog(@"Long gesture ended, self.iLongPress = %@", self.iLongPress ? @"YES" : @"NO");
}
}
}
- (IBAction)panGesture:(UIPanGestureRecognizer *)gestureRecognizer {
NSLog(@"Pan gesture, self.iLongPress = %@", self.iLongPress ? @"YES" : @"NO");
}
长手势开始=是;长手势结束=否;平移手势=否;好吧,这告诉了你想知道的一切。平移是在长手势之后进行的,甚至可能会取消长手势。