gpt4 book ai didi

iphone - 检测移动的 UIImageView 是否被触摸

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:06 29 4
gpt4 key购买 nike

我有一个处于动画循环中的 UIImageView。我想检测它是否被触摸并用 NSLog 打印出一条消息。如果它被触摸,我的想法是执行另一个动画,但目前我无法检测到它是否首先被触摸。已启用用户交互。这是代码:

-(void) touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [touches anyObject];
UIView *touchedView = [touch view];
if (touchedView == imgSun) {
NSLog(@"Sun touched");
[self spinSun];
} else if (touchedView == imgBee) {
NSLog(@"Bee touched");
} else if (touchedView == imgClouds) {
NSLog(@"Clouds touched");
}
}

动画方法:

-(void) beeBobbing
{
[UIView animateWithDuration:1.0f delay:0 options:(UIViewAnimationOptionCurveEaseInOut | UIViewAnimationOptionAutoreverse | UIViewAnimationOptionRepeat) animations:^{
CGPoint bottomPoint = CGPointMake(215.0, 380.0);
imgBee.center = bottomPoint;
} completion:^(BOOL finished) {

}];
}

最佳答案

这可能是因为在动画期间默认禁用用户集成。

参见 animateWithDuration:delay:options:animations:completion: 文档:

在动画期间,对于正在动画的 View ,用户交互暂时被禁用。 (在 iOS 5 之前,整个应用程序都禁用用户交互。)如果您希望用户能够与 View 交互,请在选项参数中包含 UIViewAnimationOptionAllowUserInteraction 常量。

http://developer.apple.com/library/ios/#documentation/uikit/reference/uiview_class/uiview/uiview.html 1

您可能只需将 UIViewAnimationOptionAllowUserInteraction 添加到传递给方法“beeBobbing”中的选项的值即可。

关于iphone - 检测移动的 UIImageView 是否被触摸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10583722/

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