模仿新浪微博刷新显示多少条数据

姬正文
2023-12-01

第一步就是在刷新后方法 中添加调用方法并且传入刷新出来额新数据

// 提示用户最新的微博数量
         [self showNewStatusesCount:newStatuses.count];

接下来就是写方法

/**
 *  提示用户最新的微博数量
 *
 *  @param count 最新的微博数量
 */
- (void)showNewStatusesCount:(int)count
{
    // 1.创建一个UILabel
    UILabel *label = [[UILabel alloc] init];

    // 2.显示文字
    if (count) {
        label.text = [NSString stringWithFormat:@"共有%d条新的微博数据", count];
    } else {
        label.text = @"没有最新的微博数据";
    }

    // 3.设置背景
    label.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageWithName:@"timeline_new_status_background"]];
    label.textAlignment = NSTextAlignmentCenter;
    label.textColor = [UIColor whiteColor];

    // 4.设置frame
    label.width = self.view.width;
    label.height = 35;
    label.x = 0;
    label.y = 64 - label.height;

    // 5.添加到导航控制器的view
//    [self.navigationController.view addSubview:label];
    [self.navigationController.view insertSubview:label belowSubview:self.navigationController.navigationBar];

    // 6.动画
    CGFloat duration = 0.75;
//    label.alpha = 0.0;
    [UIView animateWithDuration:duration animations:^{
        // 往下移动一个label的高度
        label.transform = CGAffineTransformMakeTranslation(0, label.height);
//        label.alpha = 1.0;
    } completion:^(BOOL finished) { // 向下移动完毕

        // 延迟delay秒后,再执行动画
        CGFloat delay = 1.0;

        [UIView animateWithDuration:duration delay:delay options:UIViewAnimationOptionCurveEaseInOut animations:^{

            // 恢复到原来的位置
            label.transform = CGAffineTransformIdentity;
//            label.alpha = 0.0;

        } completion:^(BOOL finished) {

            // 删除控件
            [label removeFromSuperview];
        }];
    }];
    }
 类似资料: