在touchesBegan
我[self animateWindow];
触摸UILabel
. 它动画并从顶部带来窗口。当我再次触摸它UILabel
时,我不希望[self animateWindow];
再次调用该方法,因为它会动画并再次显示已经显示的窗口。我该怎么做呢?有什么帮助吗?我试着到处搜索,找不到确切的答案。
问问题
582 次
1 回答
3
只需创建一个 BOOL 实例变量,将其用作标志:
@property (assign, monatomic) BOOL hasAnimated;
- (void) touchesBegan...
{
if (!self.hasAnimated) {
[self animateWindow];
self.hasAnimated = YES;
}
}
根据您在评论中的扩展描述,您将需要添加更多逻辑来检查实际触摸的是哪个标签。更好的解决方案可能是在每个标签上使用手势识别器。tag
然后,您可以直接访问手势识别器的视图以检查它是哪个标签(可能使用或隐藏)。
于 2013-05-18T09:47:53.000 回答