弹出1秒钟

Ila*_*lan 5 objective-c ios

向用户实施文本+图像消息的常规(或最佳)方式是什么,而此"警报/弹出"应仅出现1秒钟(如奖品图片上的消息"You Won!",有限时间内) .

i_a*_*orf 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];
    }];
}
Run Code Online (Sandbox Code Playgroud)

只需将此作为方法添加到根视图中即可.