Estoy tratando de averiguar por qué me sale un error cuando uso locationOfTouch: inView. Eventualmente, creé una nueva vista solo con la llamada a locationOfTouch y todavía obtengo un SIGABRT cada vez que toco la vista.locationOfTouch resultados en SIGABRT
Aparte de las declaraciones de importación, aquí es todo el código en mi opinión:
@interface Dummy : UIView <UIGestureRecognizerDelegate> {
UIPanGestureRecognizer *repositionRecognizer;
}
@end
Aquí está la impl:
@implementation Dummy
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
repositionRecognizer = [[UIPanGestureRecognizer alloc]
initWithTarget:self
action:@selector(reposition:)];
[repositionRecognizer setDelegate:self];
[self addGestureRecognizer:repositionRecognizer];
self.backgroundColor = [UIColor grayColor];
}
return self;
}
- (void)reposition:(UIGestureRecognizer *) gestureRecognizer {
[gestureRecognizer locationOfTouch:0 inView:self];
//[gestureRecognizer locationInView:self];
}
@end
Si uso locationInView, funciona bien. Si uso locationOfTouch: inView, el programa se cancela tan pronto como el toque finaliza.
EDITAR: En la consola, con esta clase, no se muestran mensajes de error. El IDE apunta a main.m con un SIGABRT. Al hacer clic en 'Continuar' se obtiene 'EXC_BAD_INSTRUCTION'. Captura de pantalla disponible en http://imageshack.us/photo/my-images/849/consolel.png/
Por favor, publique el mensaje de error de la consola. – zaph
La consola está en blanco. Mira aquí: http://imageshack.us/photo/my-images/849/consolel.png/ – undetected
En tu consola gdb> haz un backtrace o bt para ver la última pila que se colgó. Establezca la variable de entorno NSZombieEnabled en YES y depure su código. – 0x8badf00d