UIView在Timer上动画了

时间:2014-08-01 18:48:54

标签: ios uiview xamarin.ios xamarin

所以有一个UITextField并且我在该字段上有字符限制。如果用户尝试输入更大的内容,则会显示UIView。我已经将那部分动画了。这就是我所拥有的:

public void animateHoursMesg() {

    var HoursMesgExpandPos = new PointF (248.0f, 273.0f);
    var HoursMesgInitPos = new PointF (400.0f, 273.0f);
    UIView.Animate (
        duration: 0.3f,
        delay: 0,
        options: UIViewAnimationOptions.CurveEaseInOut,
        animation: () => {
            if (Flag_HoursMesg) {
                view_HoursLimitMesg.Center = HoursMesgInitPos;
                Flag_HoursMesg = false;
            } else {
                view_HoursLimitMesg.Center = HoursMesgExpandPos;
                Flag_HoursMesg = true;
            }
        },
        completion: () => {
        }
    );
}

问题是我希望此视图在出现后5秒钟动画显示。

有人可以帮帮我吗?

感谢您的时间。

2 个答案:

答案 0 :(得分:2)

在animate方法的完成块中,使用NSTimer来安排块从那时起执行5秒。

[NSTimer scheduledTimerWithTimeInterval:5.0
                                 target:self
                               selector:@selector(animateAway)
                               userInfo:nil
                                repeats:NO];

然后只需为animateAway创建另一种方法,以反转上一个动画。

答案 1 :(得分:0)

在动画的完成块中,您可以运行不同的动画,以5秒的延迟为视图设置动画。