gpt4 book ai didi

objective-c - 更改目标的 super View 后检测 TouchesEnded

转载 作者:行者123 更新时间:2023-12-01 16:57:20 24 4
gpt4 key购买 nike

在 iOS 中,我在两个父 UIView 之间拖动一个 UIView。我正在使用 UIPanGestureRecognizer 来管理拖动。当拖动仍在进行时,我使用以下方法切换正在拖动的 View 的父级:

- (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];
...

这似乎终止了平移事件。然而,我的手指仍然“向下”。在这一点上,我怎样才能检测到我的手指抬起?我尝试了一个单独的 UITapGestureRecognizer,如果没有发生平移,它会很好地触发,但如果平移已经开始,它不会触发。

有任何想法吗?

最佳答案

试试这个:

- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
...
}

UIPanGestureRecognizer *recognizer;
recognizer = [[UIPanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanFrom:)];
[self addGestureRecognizer:recognizer];
}


-(void)handlePanFrom:(UIPanGestureRecognizer *)recognizer {

if ( [recognizer state] == UIGestureRecognizerStateEnded )
{
NSLog(@"Ended");
}
}

你可以找到所有的州 here :

希望能帮助到你。

关于objective-c - 更改目标的 super View 后检测 TouchesEnded,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621496/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com