Skip to content

Commit 4e52e4a

Browse files
committed
iOS 状态栏设置完成。
1 parent 353512c commit 4e52e4a

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

ios/Classes/JverifyPlugin.m

Lines changed: 19 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -424,8 +424,10 @@ - (void)layoutUIConfig:(NSDictionary *)uiconfigPara widgets:(NSArray *)widgets i
424424
//自定义授权页面原有的 UI 控件
425425
- (void)setCustomUIWithUIConfig:(JVUIConfig *)uiconfig configArguments:(NSDictionary *)config {
426426
JVLog(@"Action - setCustomUIWithUIConfig::");
427-
428-
uiconfig.preferredStatusBarStyle = 0;
427+
NSString *authStatusBarStyle = [config objectForKey:@"authStatusBarStyle"];
428+
NSString *privacyStatusBarStyle = [config objectForKey:@"privacyStatusBarStyle"];
429+
uiconfig.preferredStatusBarStyle = [self getStatusBarStyle:authStatusBarStyle];
430+
uiconfig.agreementPreferredStatusBarStyle = [self getStatusBarStyle:privacyStatusBarStyle];
429431
uiconfig.dismissAnimationFlag = needCloseAnim;
430432
/************** 背景 ***************/
431433
NSString *authBackgroundImage = [config objectForKey:@"authBackgroundImage"];
@@ -1005,6 +1007,21 @@ - (id)getNumberValue:(NSDictionary *)arguments key:(NSString*) key{
10051007
// }
10061008
// return nil;
10071009
//}
1010+
1011+
- (UIStatusBarStyle)getStatusBarStyle:(NSString*)itemStr{
1012+
if ([itemStr isEqualToString:@"StatusBarStyleDefault"]){
1013+
return UIStatusBarStyleDefault;
1014+
}else if ([itemStr isEqualToString:@"StatusBarStyleLightContent"]){
1015+
return UIStatusBarStyleLightContent;
1016+
}else if ([itemStr isEqualToString:@"StatusBarStyleDarkContent"]){
1017+
if (@available(iOS 13.0, *)) {
1018+
return UIStatusBarStyleDarkContent;
1019+
}
1020+
}
1021+
return UIStatusBarStyleDefault;
1022+
}
1023+
1024+
10081025
- (JVLayoutItem)getLayotItem:(NSString *)itemString {
10091026
JVLayoutItem item = JVLayoutItemNone;
10101027
if (itemString) {

lib/jverify.dart

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -533,6 +533,7 @@ class JVUIConfig {
533533
String privacyNavTitleTitle1; // 协议1 web页面导航栏标题
534534
String privacyNavTitleTitle2; // 协议2 web页面导航栏标题
535535
String privacyNavReturnBtnImage;
536+
JVIOSBarStyle privacyStatusBarStyle; //隐私协议web页 状态栏样式设置 only iOS
536537

537538
///隐私页
538539
bool privacyStatusBarColorWithNav = false; //隐私页web状态栏是否与导航栏同色 only android
@@ -548,7 +549,9 @@ class JVUIConfig {
548549
bool statusBarHidden = false; //授权页状态栏是否隐藏 only android
549550
bool virtualButtonTransparent = false; //授权页虚拟按键背景是否透明 only android
550551

551-
///是否需要动画only android
552+
JVIOSBarStyle authStatusBarStyle;//授权页状态栏样式设置 only iOS
553+
554+
///是否需要动画
552555
bool needStartAnim = false; //设置拉起授权页时是否需要显示默认动画
553556
bool needCloseAnim = false; //设置关闭授权页时是否需要显示默认动画
554557

@@ -635,6 +638,8 @@ class JVUIConfig {
635638
"statusBarTransparent": statusBarTransparent,
636639
"statusBarHidden": statusBarHidden,
637640
"virtualButtonTransparent": virtualButtonTransparent,
641+
"authStatusBarStyle":authStatusBarStyle,
642+
"privacyStatusBarStyle":privacyStatusBarStyle,
638643

639644
"needStartAnim": needStartAnim,
640645
"needCloseAnim": needCloseAnim,
@@ -817,6 +822,12 @@ enum JVIOSLayoutItem {
817822
ItemSuper
818823
}
819824

825+
enum JVIOSBarStyle {
826+
StatusBarStyleDefault, // Automatically chooses light or dark content based on the user interface style
827+
StatusBarStyleLightContent, // Light content, for use on dark backgrounds iOS 7 以上
828+
StatusBarStyleDarkContent // Dark content, for use on light backgrounds iOS 13 以上
829+
}
830+
820831
String getStringFromEnum<T>(T) {
821832
if (T == null) {
822833
return null;

0 commit comments

Comments
 (0)