首页 > 代码库 > 07---关于动态创建和销毁带动画的UIVew
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,我就这么干!!!
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。