iOS 动画总结----UIView动画

本文介绍如何在iOS中通过UIView动画实现无限循环动画效果,并详细解释了setAnimationDidStopSelector方法的使用及其参数含义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转发自:http://blog.youkuaiyun.com/huifeidexin_1/article/details/7597868

setAnimationDidStopSelector:

设置消息给动画代理当动画停止的时候。
+ (void)setAnimationDidStopSelector:(SEL)selector
参数
selector
当动画结束的时候发送给动画代理。默认值是NULL。这个选择者须有下面方法的签名:animationFinished:(NSString *)animationID finished:(BOOL)finished context:(void *)context。
animationID
一个应用程序提供的标识符。和传给beginAnimations:context: 相同的参数。这个参数可以为空。
finished
如果动画在停止前完成那返回YES;否则就是NO。
context
一个可选的应用程序内容提供者。和beginAnimations:context: 方法相同的参数。可以为空。
讨论
这个方法在动画块外没有任何效果。使用beginAnimations:context: 类方法来开始一个动画块并用commitAnimations类方法结束。默认值是NULL。





代码:

- (void)startAnimation

{

    _pmdScrollView.contentOffset = CGPointMake(0.0f, 0.0f);

    [UIView beginAnimations:@"MarqueeBarAniamation" context:nil];

    [UIView setAnimationCurve:UIViewAnimationCurveLinear];

    [UIView setAnimationDuration:8];

    [UIView setAnimationDelegate:self];

    [UIView setAnimationDidStopSelector:@selector(animationDidStop:finished:context:)];

    _pmdScrollView.contentOffset = CGPointMake(_pmdScrollView.contentSize.width - 250.0f, 0.0f);

    [UIView commitAnimations];

}


- (void)animationDidStop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context

{

    if ([animationID isEqualToString:@"MarqueeBarAniamation"]){

        if ([finished boolValue] > 0){

            [self startAnimation];

        }

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值