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