首页 > 代码库 > ios自定义状态栏显示发送结果
ios自定义状态栏显示发送结果
自定义状态栏,首先需要隐藏系统的statusbar然后重新显示一个window即可
直接上代码,可以直接使用:
//
// CustomStatusBar.h
// CustomStatusBar
//
// Created by yb on 14/10/24.
// Copyright (c) 2014年 yb. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface CustomStatusBar : UIWindow
- (void)showStatusMessage:(NSString *)message;
- (void)hideStatusBarWhenSendFinished;
-(void)hideStatusBarWhenSendFailed;
@end
//
// CustomStatusBar.m
// CustomStatusBar
//
// Created by yb on 14/10/24.
// Copyright (c) 2014年 yb. All rights reserved.
//
#import "CustomStatusBar.h"
@interface CustomStatusBar ()
@property(strong,nonatomic)UILabel *messageLabel;
@end
@implementation CustomStatusBar
- (instancetype)init
{
self = [super init];
if (self) {
self.frame=[UIApplication sharedApplication].statusBarFrame;
self.backgroundColor=[UIColor blackColor];
self.windowLevel=UIWindowLevelStatusBar+1.0f;
self.messageLabel=[[UILabel alloc]initWithFrame:self.bounds];
self.messageLabel.textColor=[UIColor whiteColor];
self.messageLabel.textAlignment=NSTextAlignmentCenter;
[self addSubview:_messageLabel];
}
return self;
}
- (void)showStatusMessage:(NSString *)message
{
self.hidden = NO;
self.alpha = 1.0f;
self.frame=[UIApplication sharedApplication].statusBarFrame;
self.messageLabel.frame=self.bounds;
CGSize totalSize = self.frame.size;
self.frame = (CGRect){ self.frame.origin, 0, totalSize.height };
[UIView animateWithDuration:0.5f animations:^{
self.frame = (CGRect){ self.frame.origin, totalSize };
self.messageLabel.text = message;
} completion:^(BOOL finished)
{
}];
}
- (void)hideStatusBarWhenSendFinished
{
self.alpha = 1.0f;
[UIView animateWithDuration:2.0f animations:^
{
self.alpha = 0.0f;
CGRect frame=self.frame;
frame.size.height=0;
self.frame=frame;
self.messageLabel.text=@"发送成功!";
} completion:^(BOOL finished){
self.frame=CGRectZero;
self.hidden = YES;
}];;
}
-(void)hideStatusBarWhenSendFailed
{
self.alpha = 1.0f;
[UIView animateWithDuration:2.0f animations:^
{
self.alpha = 0.0f;
CGRect frame=self.frame;
frame.size.height=0;
self.frame=frame;
self.messageLabel.text=@"发送失败!";
} completion:^(BOOL finished){
self.frame=CGRectZero;
self.hidden = YES;
}];;
}
@end
ios自定义状态栏显示发送结果