2012-05-02 18 views
1

私は別のUIView(viewBと呼ぶ)の上にあるUIView(viewAと呼ぶ)を動かしようとしています。 viewBはiPad画面のサイズを持ち、ビューAはずっと小さくなっています。私の指でUIViewを移動する

私は物事を動かすことができますが、viewAだけでなく、画面全体が動く(viewA + viewB)。 、私は理解していない何


- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event allTouches] anyObject]; CGPoint touchLocation = [touch locationInView:self->view]; if (CGRectContainsPoint(self.window.frame, touchLocation)) { dragging = YES; oldY = touchLocation.y; } }

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event { UITouch *touch = [[event allTouches] anyObject]; CGPoint touchLocation = [touch locationInView:self->view]; if (dragging) { CGRect frame = self.window.frame; frame.origin.y = self.window.frame.origin.y + touchLocation.y - oldY; self.window.frame = frame; } } - (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event { dragging = NO; }

私はviewAクラスでこれらのメソッドを実装し、ということである。ここでは

はviewAクラスの私のコードです。 "自己"はこのビューに関わるべきです、そうですか?なぜ、指が画面上を移動すると、ページ全体が動くのですか?

答えて

2

すべてのビューを含むウィンドウ全体を移動している場合は、必要に応じてビューAのみを移動する必要があります。

関連する問題