Skip to content

Instantly share code, notes, and snippets.

@Koze
Last active June 30, 2017 09:12
Show Gist options
  • Select an option

  • Save Koze/cd03ec607398344e901b to your computer and use it in GitHub Desktop.

Select an option

Save Koze/cd03ec607398344e901b to your computer and use it in GitHub Desktop.
Simple Log of UIGestureRecognizer
#import <objc/runtime.h>
void LogGesture(UIGestureRecognizer *gestureRecognizer) {
id object = [[gestureRecognizer valueForKey:@"targets"] firstObject];
id target = [object valueForKey:@"target"];
Ivar ivar = class_getInstanceVariable([object class], "_action");
SEL action = (__bridge void *)object_getIvar(object, ivar);
NSMutableString *mString = [NSMutableString stringWithFormat:@"%@; action=%@; target=%@;",
NSStringFromClass(gestureRecognizer.class),
NSStringFromSelector(action),
NSStringFromClass([target class])];
if ([gestureRecognizer respondsToSelector:@selector(numberOfTouchesRequired)]) {
NSUInteger number = [(id)gestureRecognizer numberOfTouchesRequired];
if (number != 0) {
[mString appendFormat:@" numberOfTouchesRequired=%lu;", (unsigned long)number];
}
}
if ([gestureRecognizer respondsToSelector:@selector(numberOfTapsRequired)]) {
NSUInteger number = [(id)gestureRecognizer numberOfTapsRequired];
if (number != 0) {
[mString appendFormat:@" numberOfTapsRequired=%lu;", (unsigned long)number];
}
}
NSLog(@"%@", mString);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment