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