zoukankan      html  css  js  c++  java
  • 状态栏动画切换效果

    状态栏动画切换效果

    效果

    源码

    https://github.com/YouXianMing/iOS-Project-Examples 中的 StatusBarAnimation

    //
    //  StatusBarValue.h
    //  StatusBarAnimation
    //
    //  Created by YouXianMing on 16/7/18.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    #import <UIKit/UIKit.h>
    
    @interface StatusBarValue : NSObject
    
    @property (nonatomic, weak) UIViewController *controller;
    
    /**
     *  Default value is UIStatusBarAnimationFade.
     */
    @property (nonatomic) UIStatusBarAnimation animationType;
    
    /**
     *  Default value is UIStatusBarStyleDefault.
     */
    @property (nonatomic) UIStatusBarStyle     style;
    
    /**
     *  Default value is NO.
     */
    @property (nonatomic) BOOL                 hidden;
    
    /**
     *  SetNeedsStatusBarAppearanceUpdate
     *
     *  @param animated Animated or not.
     *  @param duration Animation's duration.
     */
    - (void)statusBarAppearanceUpdateAnimated:(BOOL)animated duration:(NSTimeInterval)duration;
    
    #pragma mark - Constructor
    
    + (instancetype)statusBarValueWithController:(UIViewController *)controller;
    
    @end
    //
    //  StatusBarValue.m
    //  StatusBarAnimation
    //
    //  Created by YouXianMing on 16/7/18.
    //  Copyright © 2016年 YouXianMing. All rights reserved.
    //
    
    #import "StatusBarValue.h"
    
    @implementation StatusBarValue
    
    - (instancetype)init {
        
        if (self = [super init]) {
        
            self.animationType = UIStatusBarAnimationFade;
            self.style         = UIStatusBarStyleDefault;
            self.hidden        = NO;
        }
        
        return self;
    }
    
    - (void)statusBarAppearanceUpdateAnimated:(BOOL)animated duration:(NSTimeInterval)duration {
    
        if (self.controller) {
            
            if (animated) {
             
                [UIView animateWithDuration:duration > 0 ? duration : 0.35f animations:^{
                    
                    [self.controller setNeedsStatusBarAppearanceUpdate];
                }];
                
            } else {
            
                [self.controller setNeedsStatusBarAppearanceUpdate];
            }
        }
    }
    
    + (instancetype)statusBarValueWithController:(UIViewController *)controller {
    
        StatusBarValue *value = [[[self class] alloc] init];
        value.controller      = controller;
        
        return value;
    }
    
    @end
  • 相关阅读:
    linux常用命令整理
    pg_sql常用查询语句整理
    python 爬取媒体文件(使用chrome代理,启动客户端,有防火墙)
    python 爬取媒体文件(无防火墙)
    python读写符号的含义
    python数据分析开发中的常用整理
    wget: 无法解析主机地址
    ## nginx 使用
    iptables防火墙
    【redis】Could not connect to Redis at 127.0.0.1:6379: Connection refused
  • 原文地址:https://www.cnblogs.com/YouXianMing/p/5682770.html
Copyright © 2011-2022 走看看