一番奥の UIView に UIGestureRecognizer を設置し、手前に UIButton などを設置した時、UIButton を押しても UIGestureRecognizer のイベントが起きてしまう。 こういう時は Delegate メソッドの - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch; を使う。 - (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch { // test if our control subview is on-screen if (self.c