Comments (2)
__weak typeof(self) w_self = self;
self.sl_popupController.willPresent = ^(SnailPopupController * _Nonnull popupController) {
[w_self sl_setStatusBarStyle:UIStatusBarStyleLightContent];
};
self.sl_popupController.didDismiss = ^(SnailPopupController * _Nonnull popupController) {
[w_self sl_setStatusBarStyle:UIStatusBarStyleDefault];
};
#import "UIViewController+StatusBar.h"
#import <objc/runtime.h>
@implementation UINavigationController (StatusBarStyle)
- (UIViewController *)childViewControllerForStatusBarStyle {
return self.topViewController;
}
- (UIViewController *)childViewControllerForStatusBarHidden {
return self.topViewController;
}
@end
static void *sl_UIViewControllerStatusBarStyleKey = &sl_UIViewControllerStatusBarStyleKey;
static void *sl_UIViewControllerStatusBarHiddenKey = &sl_UIViewControllerStatusBarHiddenKey;
@implementation UIViewController (StatusBar)
- (void)setIsLightContent:(BOOL)isLightContent {
objc_setAssociatedObject(self, sl_UIViewControllerStatusBarStyleKey, @(isLightContent), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (BOOL)isLightContent {
id value = objc_getAssociatedObject(self, sl_UIViewControllerStatusBarStyleKey);
return [(NSNumber *)value boolValue];
}
- (void)setIsHidden:(BOOL)isHidden {
objc_setAssociatedObject(self, sl_UIViewControllerStatusBarHiddenKey, @(isHidden), OBJC_ASSOCIATION_RETAIN_NONATOMIC);
}
- (BOOL)isHidden {
id value = objc_getAssociatedObject(self, sl_UIViewControllerStatusBarHiddenKey);
return [(NSNumber *)value boolValue];
}
- (UIStatusBarStyle)preferredStatusBarStyle {
if (self.isLightContent) {
return UIStatusBarStyleLightContent;
}
return UIStatusBarStyleDefault;
}
- (BOOL)prefersStatusBarHidden {
return self.isHidden;
}
- (void)sl_setStatusBarStyle:(UIStatusBarStyle)statusBarStyle {
self.isLightContent = statusBarStyle == UIStatusBarStyleLightContent;
[self setNeedsStatusBarAppearanceUpdate];
}
- (void)sl_setStatusBarHidden:(BOOL)statusBarHidden {
self.isHidden = statusBarHidden;
[self setNeedsStatusBarAppearanceUpdate];
}
- (void)sl_resetStatusBarStyle {
self.isLightContent = NO;
self.isHidden = NO;
[self setNeedsStatusBarAppearanceUpdate];
}
@end
#import <UIKit/UIKit.h>
@interface UIViewController (StatusBar)
- (void)sl_setStatusBarHidden:(BOOL)statusBarHidden;
- (void)sl_setStatusBarStyle:(UIStatusBarStyle)statusBarStyle;
- (void)sl_resetStatusBarStyle;
@end
from zhpopupcontroller.
多谢大神
from zhpopupcontroller.
Related Issues (20)
- zhPopupLayoutTypeCenter 这个属性只会弹出来一次,第二次就出不来了 HOT 5
- 2次弹出视图,本来控制器能旋转的。不能了为啥
- 点击自定义view的是时候怎么移除zhPopupController
- 弹出的视图内包含UITextView,当UITextView成为第一响应者后,视图上移的位置不准确 HOT 3
- Textfield 弹出键盘 视图位置不正确 HOT 2
- 打断点 zhPopupController init方法都没有调用 咋回事???
- 你好,我想问个问题
- 在已经弹出的视图上再弹出一个视图。
- self.zh_popupController.maskTouched
- App进入后台时候,通过网络请求或者推送触发的弹窗会无法点击 HOT 2
- 大佬,有swift版本的吗 HOT 1
- 弹窗控制器的view代理方法问题
- 先调用dismiss会导致界面出现挡板 遮住无法操作
- 1.0.x的版本标签建议开回来。。。
- 是否可以实现类似淘宝或京东点击滚动条上的筛选条件从滚动条下方显示,而不是从屏幕最上方显示 HOT 1
- 横竖屏切换时的bug
- 横竖屏切换存在BUG HOT 1
- 拖拽手势的判定逻辑需要优化 HOT 1
- 首页界面弹窗调用[[zhPopupController alloc] initWithView:customView size:alert.bounds.size];这个初始化两次会弹窗两次,怎么实现只弹一次
- iOS17适配 HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from zhpopupcontroller.