美文网首页IOS积累
iOS 简单自定义状态栏(彷微博)

iOS 简单自定义状态栏(彷微博)

作者: XY_Coder | 来源:发表于2017-03-30 17:02 被阅读35次
    .h代码:
    #import <UIKit/UIKit.h>
    
    @interface XYCustomStatusbar : UIWindow
    
    @property (nonatomic,strong)UIImageView *logoImageView;
    @property (nonatomic,strong)UILabel *statusTextLabel;
    +(instancetype)sharedStatusBar;
    -(void)showStatusWithString:(NSString *)string;
    
    -(void)hiddenStatusBar;
    
    @end
    
    
    .m代码:
    #import "XYCustomStatusbar.h"
    @interface XYCustomStatusbar()
    
    @end
    
    @implementation XYCustomStatusbar
    
    
    static XYCustomStatusbar *_status;
    +(instancetype)sharedStatusBar{
        static dispatch_once_t onceToken;
        dispatch_once(&onceToken, ^{
            _status = [[XYCustomStatusbar alloc]init];
        });
        return _status;
    }
    
    -(instancetype)init{
        if (self = [super init]) {
            [self setupSubViews];
        }
        return self;
    }
    
    -(void)setupSubViews{
        self.frame = [UIApplication sharedApplication].statusBarFrame;
        self.windowLevel = UIWindowLevelStatusBar +1;
        self.backgroundColor = [UIColor cyanColor];
        self.hidden = true;
        
        UIImageView *imageView = [[UIImageView alloc]initWithFrame:CGRectMake(15, 0, 20, 20)];
        [self addSubview:imageView];
        imageView.backgroundColor = [UIColor colorWithRandomColor];
        self.logoImageView = imageView;
        
        UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(40, 0, SCREEN_MAIN.width - 40, 20)];
        [self addSubview:label];
        label.textColor = [UIColor whiteColor];
        label.backgroundColor = [UIColor colorWithRandomColor];
        self.statusTextLabel = label;
    }
    
    -(void)showStatusWithString:(NSString *)string{
        self.alpha = 0.0f;
        self.hidden = false;
        self.statusTextLabel.text = string;
        [UIView animateWithDuration:0.1f animations:^{
            self.alpha = 1.0f;
        } completion:^(BOOL finished) {
            
        }];
        
    }
    
    -(void)hiddenStatusBar{
        [UIView animateWithDuration:0.1f animations:^{
            self.alpha = 0.0f;
        } completion:^(BOOL finished) {
            self.hidden = true;
        }];
    }
    
    @end
    
    运用:
    [[XYCustomStatusbar sharedStatusBar]showStatusWithString:str];//显示
    [[XYCustomStatusbar sharedStatusBar]hiddenStatusBar];//消失
    

    相关文章

      网友评论

        本文标题:iOS 简单自定义状态栏(彷微博)

        本文链接:https://www.haomeiwen.com/subject/gmdpottx.html