繁体   English   中英

UILabel动画和手势

[英]UILabel Animations and Gestures

我正在尝试在我正在编写的应用程序中实现效果,也许您可​​以提供帮助。

视图层次结构在这一点上相当复杂,所以为了简单起见,我只是说我有一个UILabel,它的Alpha值设置为0.目前我正在使用一个UILongPressGestureRecognizer,它在几秒钟之后,调用一个更新文本的方法UILabel并执行一个UIView动画块以很好地显示它(在1秒的过程中将Alpha设置为1 - 将其淡入)。

这个Block在新更新的标签中消失,然后在它的完成块中将其淡化一段时间。

这没关系,但我真正想要的是在长按(比如说3秒)后让标签淡入(通过UIView动画或其他)。 然后在按下仍处于活动状态时保持屏幕,然后在触摸提起后淡出一秒钟。 我怎样才能达到这个效果?

我应该忘记手势识别器并移动到UIView动画块并使各种触摸触摸状态变为极点吗?

感谢阅读,问候,

约翰

长按识别器可以工作,您只需要检查状态以了解该做什么。 首次识别手势时,启动淡入。手势完成后,启动淡出,但使用允许您设置开始延迟的方法。

-  (void)handleLongPress:(UILongPressGestureRecognizer*)sender
{ 
    if (sender.state == UIGestureRecognizerStateEnded) {
        // fade out, delayed
    }
    else if (sender.state == UIGestureRecognizerStateBegan) {
        // fade in
    }
}

每个UIGestureRecognizer都有状态。 处理长按时,只需检查状态。

- (void)handleLongPress:(UILongPressGestureRecognizer*)longPress
{
    if(longPress.state == UIGestureRecognizerStateEnded){
        //do what you want
        NSLog(@"%@", @"end");
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM