문제

I have this code and the method is not called, what can I do? I need a delegate?

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {

    UITouch *touch = [touches anyObject];

    if ([touch view] == self.view)
    {

    }

}
도움이 되었습니까?

해결책

You are not using this code in your UIView.

This is a delegate of the UIResponder class and UIView inherits itself from UIResponder. Hence this method is called if it is defined in a UIView class and not in the UIViewController.

Moreover, if it being the code in your UIView, you won't need to check the view as it is THAT VIEW. Because if the view takes touches, you are sure that it is the right view :)

다른 팁

Try to add userInteractionEnabled = YES to your UIView.

Or maybe another view is catching the event.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top