zoukankan      html  css  js  c++  java
  • UIView动画例子实践

    淡入淡出效果的例子,其中对象关系图:
    SampleAppDelegate
        HelloController init
            ToggleView init
                UIImageView init
                self addSubview
                UIImageView release
            ToggleView release
    其它对象释放

    关于淡入淡出的事件触发放在ToggleView的touchesBegan事件,实现的是对ToggleView本身的动画,从而达到对子视图UIImageView的淡出淡入的效果的控制,而UIImageView视图作为子视图不允许发生触摸交换(imgView.userInteractionEnabled = NO;),仅控制自身的显示情况

    现在学习下UIView的新方法,下面是淡入淡出效果实现;
    // perform the fade out or fade in
    CGContextRef context = UIGraphicsGetCurrentContext();
    [UIView beginAnimations:nil context:context];
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:
    1.0];
    [[self viewWithTag:IMAGE_VIEW_TAG] setAlpha:(
    float)isVisible];//注意,这个对当前子视图设置显示属性
    [UIView commitAnimations];


    UIView类

    类方法:(动画部分)
    beginAnimations:context:
        + (void)beginAnimations:(NSString *)animationID context:(void *)context

        Marks the beginning of a begin/commit animation block.

    setAnimationCurve:
        + (void)setAnimationCurve:(UIViewAnimationCurve)curve

        Sets the curve to use when animating property changes within an animation block.

    setAnimationDuration:
        + (void)setAnimationDuration:(NSTimeInterval)duration

        Sets the duration (measured in seconds) of the animations in an animation block.

    commitAnimations
        + (void)commitAnimations

        Marks the end of a begin/commit animation block and schedules the animations for execution.

    Constants/常量
    UIViewAnimationCurveEaseInOut
        An option for specifying an ease-in ease-out timing curve for the animation. An ease-in ease-out curve causes the animation to begin slowly, accelerate through the middle of its duration, and then slow again before completing. This is the default curve for most animations.

    UIViewAnimationCurveEaseIn
        An option for specifying an ease-in timing curve for the animation. An ease-in curve causes the animation to begin slowly, and then speed up as it progresses.

    UIViewAnimationCurveEaseOut
        An option for specifying an ease-out timing curve for the animation. An ease-out curve causes the animation to begin quickly, and then slow down as it finishes.

    UIViewAnimationCurveLinear
        An option for specifying a linear timing curve for the animation. A linear animation curve causes an animation to occur evenly over its duration.







    无论生活、还是技术,一切都不断的学习和更新~~~努力~
  • 相关阅读:
    解决ssh连接linux系统特别慢的问题
    mysql的InnoDB 数据库引擎TableSpace Exists 问题
    nextcloud私有云盘的部署
    su: 无法设置用户ID: 资源暂时不可用
    oracle静默安装
    mysql update 子查询锁表问题
    mysql导出数据很快,导入很慢
    mysql千万级数据库插入速度和读取速度的调整
    django, CentOS7+nginx(apache)+mod_wsgi+Python+Django
    javascript 重写已有的方法
  • 原文地址:https://www.cnblogs.com/GoGoagg/p/2051977.html
Copyright © 2011-2022 走看看