向用户实现文本+图像消息的常规(或最佳)方式是什么,而这个“警报/弹出窗口”应该只出现 1 秒钟(如在有限时间内奖品图片上的消息“你赢了!”) .
问问题
2157 次
2 回答
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];
}];
}
只需将此作为方法添加到您的根视图中即可。
于 2013-08-27T22:00:21.627 回答
1
如果您不想要用户交互,那么请使用 HUD。
那里有很好的实现SVProgressHUD
和MBProgressHUD
它们通常用于进度,但您可以使用它们向用户显示临时信息。
例如,您可以使用以下方法轻松显示 1 秒消息和自定义图像SVProgressHUD
:
[SVProgressHUD showImage:[UIImage imageNamed:@"won-image"] status:@"You Won!"];
于 2013-08-27T21:40:29.437 回答