• 07---关于动态创建和销毁带动画的UIVew


    在我们做开发的过程中经常会遇到在你触发了某个动作之后,需要动态添加一个带动画的UIView,执行完以后就销毁这个UIView

    #pragma mark 展示最新微博的数目
    - (void)showNewStatusCount:(int)count
    {
        // 1.创建按钮
        UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
        btn.enabled = NO; // 设置按钮禁用
        btn.adjustsImageWhenDisabled = NO; // 当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置
        
        [btn setBackgroundImage:[UIImage resizableImage:@"timeline_new_status_background.png"] forState:UIControlStateNormal];
        btn.alpha = 0.9; // 透明度0.9
        CGFloat w = self.view.frame.size.width; 
        CGFloat h = 35;
        btn.frame = CGRectMake(0, 8, w, h);
        NSString *title = count?[NSString stringWithFormat:@"共有%d条新的微博", count]:@"没有新的微博";
        [btn setTitle:title forState:UIControlStateNormal];
        [self.navigationController.view insertSubview:btn belowSubview:self.navigationController.navigationBar]; // 插入按钮在navigationBar的下面 就是说navigaionBar在外侧,按钮在内测// 2.开始执行动画
        CGFloat duration = 0.5;
        
        [UIView animateWithDuration:duration 
       animations:
    ^{ // 下来 btn.transform = CGAffineTransformMakeTranslation(0, h); // Y坐标在原有的位置再向下移动h个像素点 }
       completion:
    ^(BOOL finished) { // 下来完成以后执行 [UIView animateWithDuration:duration delay:1.0 options:UIViewAnimationOptionCurveLinear animations:^{// 上去 btn.transform = CGAffineTransformIdentity; }
      completion:
    ^(BOOL finished) { // 上去的动画完成以后执行 [btn removeFromSuperview]; // 从父视图中移除 }]; }]; }

    以后遇到需要动态添加一个带动画的UIView,执行完以后就销毁这个UIView,我就这么干!!!

  • 相关阅读:
    [py]戏说python面向对象细节
    [py]彻底细究web框架的wsgi+逻辑处理模块
    [py]access日志入mysql-通过flask前端展示
    [sql]mysql管理手头手册,多对多sql逻辑
    [py]requests+json模块处理api数据,flask前台展示
    [py]flask从0到1-模板/增删改查
    [wx]雪落香杉树人物关系图
    [py]资源搜集
    [py]python之信用卡ATM
    【Unity技巧】开发技巧(技巧篇)
  • 原文地址:https://www.cnblogs.com/lszwhb/p/3881545.html
Copyright © 2020-2023  润新知