弹出1秒钟

时间:2013-08-27 21:33:25

标签: ios objective-c

向用户实施文字+图片信息的常规(或最佳)方式是什么,而这个“提示/弹出”应该只出现1秒钟(如有限时间内的奖品图片上的消息“You Won!”时间)。

2 个答案:

答案 0 :(得分:15)

如果您只想在一段时间内显示浮动消息并让它消失,只需制作一个标签和一个简单的动画即可。此示例将显示消息1秒钟,然后消退0.3秒(并假设为ARC):

- (void)showMessage:(NSString*)message atPoint:(CGPoint)point {
    const CGFloat fontSize = 24;  // Or whatever.

    UILabel* label = [[UILabel alloc] initWithFrame:CGRectZero];
    label.backgroundColor = [UIColor clearColor];  
    label.font = [UIFont fontWithName:@"Helvetica-Bold" size:fontSize];  // Or whatever.
    label.text = message;
    label.textColor = [UIColor blueColor];  // Or whatever.
    [label sizeToFit];

    label.center = point;

    [self addSubview:label];

    [UIView animateWithDuration:0.3 delay:1 options:0 animations:^{
        label.alpha = 0;
    } completion:^(BOOL finished) {
        label.hidden = YES;
        [label removeFromSuperview];
    }];
}

只需在根视图中添加此方法即可。

答案 1 :(得分:1)

如果您不想进行用户互动,请转到HUD。

良好的实施方案有SVProgressHUDMBProgressHUD

它们通常用于进步,但您可以使用它们向用户显示暂时性信息。

例如,以下是使用SVProgressHUD轻松显示1秒消息和自定义图像的方法:

[SVProgressHUD showImage:[UIImage imageNamed:@"won-image"] status:@"You Won!"];
相关问题