Objective c 更改目标的superview后检测触摸
在iOS中,我在两个父UIView之间拖动UIView。我正在使用UIPangestureRecognitor来管理拖动。当拖动仍在进行时,我使用以下命令切换要拖动的视图的父视图:Objective c 更改目标的superview后检测触摸,objective-c,ios,uiview,uiscrollview,uipangesturerecognizer,Objective C,Ios,Uiview,Uiscrollview,Uipangesturerecognizer,在iOS中,我在两个父UIView之间拖动UIView。我正在使用UIPangestureRecognitor来管理拖动。当拖动仍在进行时,我使用以下命令切换要拖动的视图的父视图: - (IBAction)handlePanGesture:(UIPanGestureRecognizer *)sender { ... [viewBeingDragged removeFromSuperview]; UIView* page2 = [self.view viewWithTag:
- (IBAction)handlePanGesture:(UIPanGestureRecognizer *)sender {
...
[viewBeingDragged removeFromSuperview];
UIView* page2 = [self.view viewWithTag:pageTag];
[page2 addSubview:viewBeingDragged];
// Now scroll page 2 into view
[pageContainerScrollView setContentOffset:CGPointMake(xcoord, 0) animated:YES];
...
这似乎终止了平移事件。然而,我的手指仍然“向下”。在这一点上,我怎么能检测到我的手指抬起?我尝试了一个单独的UITapGestureRecognitor,如果没有平移,它可以很好地启动,但是如果平移已经开始,它就不会启动
有什么想法吗 试试这个:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
...
}
UIPanGestureRecognizer *recognizer;
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanFrom:)];
[self addGestureRecognizer:recognizer];
}
及
您可以找到所有州:
希望有帮助。试试这个:
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
...
}
UIPanGestureRecognizer *recognizer;
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanFrom:)];
[self addGestureRecognizer:recognizer];
}
及
您可以找到所有州:
希望能有帮助。我有这个问题。您只需删除以下行:[viewBeingDrawed removeFromSuperview]代码>
UIView只能有一个superview,因此当您调用[page2 addSubview:ViewBeingDrawed]
时,将首先从其当前superview中删除UIView。您只需删除以下行:[viewBeingDrawed removeFromSuperview]代码>
UIView只能有一个superview,因此当您调用[page2 addSubview:ViewBeingDrawed]
时,将首先从其当前superview中删除ViewBeingDrawed
UIView