最经写了一个关于提示框弹出的小例子,用于当某项任务完成时,提示相关的消息等等。
showeview.h
#import <UIKit/UIKit.h>
@interface showeview : UIView
+ (id) sharedInstance;
-(void)showMessage:(NSString *)message;
@end
#import "showeview.h"
//获取屏幕 宽度、高度
#define SCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define SCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
//获取设备大小
@implementation showeview
//声明一个全局唯一的静态对象,也是AccountManager类型
static showeview * _sharedInstance;
//方法实现
+ (id) sharedInstance {
@synchronized ([showeview class]) {
if (_sharedInstance == nil) {
_sharedInstance = [[showeview alloc] init];
}
}
return _sharedInstance;
}
-(void)showMessage:(NSString *)message
{
UIWindow * window = [UIApplication sharedApplication].keyWindow;
UIView *showview = [[UIView alloc]init];
showview.backgroundColor = [UIColor blackColor];
// showview.frame = CGRectMake(100, 500, 100, 100);
showview.alpha = 0.6f;
//设置圆角
showview.layer.cornerRadius = 5.0f;
showview.layer.masksToBounds = YES;
[window addSubview:showview];
UILabel *label = [[UILabel alloc]init];
CGSize LabelSize = [message sizeWithFont:[UIFont systemFontOfSize:17] constrainedToSize:CGSizeMake(290, 9000)];
label.frame = CGRectMake(10, 5, LabelSize.width, LabelSize.height);
label.text = message;
label.textColor = [UIColor redColor];
label.textAlignment = 1;
label.backgroundColor = [UIColor clearColor];
label.font = [UIFont boldSystemFontOfSize:15];
[showview addSubview:label];
showview.frame = CGRectMake((SCREEN_WIDTH-(LabelSize.width+20))/2,(SCREEN_HEIGHT-(LabelSize.height+10))/2, LabelSize.width+20, LabelSize.height+10);
[UIView animateWithDuration:1.5 animations:^{
showview.alpha = 0;
} completion:^(BOOL finished) {
[showview removeFromSuperview];
}];
}
@end