gpt4 book ai didi

ios - UIPanGestureRecognizer 干扰滚动

转载 作者:行者123 更新时间:2023-11-28 22:22:50 24 4
gpt4 key购买 nike

我有一个带有 3 个 View Controller 的 ScrollView ,我想在它们之间滑动。但是,我的一个 View Controller 有一个 UIPanGestureRecognizer,这会阻止 ScrollView 工作。这是平底锅的代码:

- (void)pan:(UIPanGestureRecognizer *)aPan; // When pan guesture is recognised
{
CGPoint location = [aPan locationInView:self.view]; // Location of finger on screen
CGRect secondRect = CGRectMake(210.0, 45.0, 70.0, 325.0); // Rectangles of maximimum bar area
CGRect minuteRect = CGRectMake(125.0, 45.0, 70.0, 325.0);
CGRect hourRect = CGRectMake(41.0, 45.0, 70.0, 325.0);

if (CGRectContainsPoint(secondRect, location)) { // If finger is inside the 'second' rectangle

CGPoint currentPoint = [aPan locationInView:self.view];

currentPoint.y -= 80; // Make sure animation doesn't go outside the bars' rectangle

if (currentPoint.y < 0) {
currentPoint.y = 0;
}
else if (currentPoint.y > 239) {
currentPoint.y = 239;
}

currentPoint.y = 239.0 - currentPoint.y;

CGFloat pointy = currentPoint.y - fmod(currentPoint.y, 4.0);

[UIView animateWithDuration:0.01f // Animate the bars to rise as the finger moves up and down
animations:^{
CGRect oldFrame = secondBar.frame;
secondBar.frame = CGRectMake(oldFrame.origin.x, (oldFrame.origin.y - (pointy - secondBar.frame.size.height)), oldFrame.size.width, (pointy));
}];

CGFloat result = secondBar.frame.size.height - fmod(secondBar.frame.size.height, 4.0);

secondInt = (result / 4.0); // Update labels with new time

self->secondLabel.text = [NSString stringWithFormat:@"%02d", secondInt];
}
}

基本上,此代码允许用户在屏幕上上下拖动手指,并更改 uiview 的高度。因此,为此我只需要上/下平移手势,而 ScrollView 只需要左/右平移手势。

有人知道我该怎么做吗?

最佳答案

您的 ScrollView 有一个名为 panGestureRecognizer 的属性。您可以为自己的 UIPanGestureRecognizer 创建一个委托(delegate),并实现此方法:

- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {

if(otherGestureRecognizer == myScrollView.panGestureRecognizer) {
return YES;
} else {
return NO;
}
}

关于ios - UIPanGestureRecognizer 干扰滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19847329/

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