From b4a8b60bd056119b75cb8b4340bb3c059dd81427 Mon Sep 17 00:00:00 2001 From: liqiang Date: Thu, 5 Sep 2019 09:52:38 +0800 Subject: [PATCH 1/3] fix bannerView's height --- EBBannerView/Classes/EBBannerView.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/EBBannerView/Classes/EBBannerView.m b/EBBannerView/Classes/EBBannerView.m index cabef2c..b68cc36 100644 --- a/EBBannerView/Classes/EBBannerView.m +++ b/EBBannerView/Classes/EBBannerView.m @@ -237,7 +237,7 @@ -(CGFloat)standardHeight{ -(CGFloat)calculatedContentHeight{ CGSize size = CGSizeMake(self.contentLabel.frame.size.width, MAXFLOAT); NSDictionary *dict = [NSDictionary dictionaryWithObject:[UIFont systemFontOfSize:self.contentLabel.font.pointSize] forKey:NSFontAttributeName]; - CGFloat calculatedHeight = [self.contentLabel.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size.height; + CGFloat calculatedHeight = ceil([self.contentLabel.text boundingRectWithSize:size options:NSStringDrawingUsesLineFragmentOrigin attributes:dict context:nil].size.height); return calculatedHeight; } From 115bcf6e5759a017d934ed078c0aa0d17ac1ebd1 Mon Sep 17 00:00:00 2001 From: liqiang Date: Wed, 25 Sep 2019 20:29:49 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E9=80=82=E9=85=8DiOS13?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EBBannerView/Classes/EBBannerWindow.m | 46 ++++++++++++++++-- .../xcschemes/xcschememanagement.plist | 19 ++++++++ .../xcschemes/xcschememanagement.plist | 14 ++++++ .../UserInterfaceState.xcuserstate | Bin 0 -> 16068 bytes 4 files changed, 74 insertions(+), 5 deletions(-) create mode 100644 demo/Pods/Pods.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 demo/demo.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 demo/demo.xcworkspace/xcuserdata/58liqiang.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/EBBannerView/Classes/EBBannerWindow.m b/EBBannerView/Classes/EBBannerWindow.m index 1dbc1a2..6fbdf17 100644 --- a/EBBannerView/Classes/EBBannerWindow.m +++ b/EBBannerView/Classes/EBBannerWindow.m @@ -19,21 +19,57 @@ @implementation EBBannerWindow +(instancetype)sharedWindow{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - sharedWindow = [[self alloc] initWithFrame:CGRectZero]; + if (@available(iOS 13.0,*)) { + NSSet *scenes = UIApplication.sharedApplication.connectedScenes; + __block UIScene *scene; + [scenes enumerateObjectsUsingBlock:^(UIScene * _Nonnull obj, BOOL * _Nonnull stop) { + if (obj.activationState == UISceneActivationStateForegroundActive && [obj isKindOfClass:[UIWindowScene class]]) { + scene = obj; + *stop = YES; + } + }]; + sharedWindow = [[self alloc] initWithWindowScene:(UIWindowScene *)scene]; + sharedWindow.userInteractionEnabled = NO; + [sharedWindow setHidden:NO]; + }else{ + sharedWindow = [[self alloc] initWithFrame:CGRectZero]; + } sharedWindow.windowLevel = UIWindowLevelAlert; sharedWindow.layer.masksToBounds = NO; UIWindow *originKeyWindow = UIApplication.sharedApplication.keyWindow; - [sharedWindow makeKeyAndVisible]; + if (@available(iOS 13.0,*)) { + + }else { + [sharedWindow makeKeyAndVisible]; + } /* fix bug: EBBannerViewController setSupportedInterfaceOrientations -> Portrait push to a VC with orientation Left UITextFiled's pad will show a wrong orientation with Portrait */ - emptyWindow = [[EBEmptyWindow alloc] initWithFrame:CGRectZero]; + if (@available(iOS 13.0,*)) { + NSSet *scenes = UIApplication.sharedApplication.connectedScenes; + __block UIScene *scene; + [scenes enumerateObjectsUsingBlock:^(UIScene * _Nonnull obj, BOOL * _Nonnull stop) { + if (obj.activationState == UISceneActivationStateForegroundActive && [obj isKindOfClass:[UIWindowScene class]]) { + scene = obj; + *stop = YES; + } + }]; + emptyWindow = [[EBEmptyWindow alloc] initWithWindowScene:(UIWindowScene *)scene]; + emptyWindow.frame = CGRectZero; + [emptyWindow setHidden:NO]; + }else{ + emptyWindow = [[EBEmptyWindow alloc] initWithFrame:CGRectZero]; + } emptyWindow.windowLevel = UIWindowLevelAlert; - [emptyWindow makeKeyAndVisible]; - [originKeyWindow makeKeyAndVisible]; + if (@available(iOS 13.0,*)) { + + }else{ + [emptyWindow makeKeyAndVisible]; + [originKeyWindow makeKeyAndVisible]; + } [EBBannerViewController setSupportedInterfaceOrientations:UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape]; [EBBannerViewController setStatusBarHidden:NO]; diff --git a/demo/Pods/Pods.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/Pods/Pods.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..5050468 --- /dev/null +++ b/demo/Pods/Pods.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,19 @@ + + + + + SchemeUserState + + EBBannerView.xcscheme_^#shared#^_ + + orderHint + 1 + + Pods-demo.xcscheme_^#shared#^_ + + orderHint + 2 + + + + diff --git a/demo/demo.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist b/demo/demo.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..e8f3bb4 --- /dev/null +++ b/demo/demo.xcodeproj/xcuserdata/58liqiang.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,14 @@ + + + + + SchemeUserState + + demo.xcscheme_^#shared#^_ + + orderHint + 0 + + + + diff --git a/demo/demo.xcworkspace/xcuserdata/58liqiang.xcuserdatad/UserInterfaceState.xcuserstate b/demo/demo.xcworkspace/xcuserdata/58liqiang.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..25d29b11c69fac834c601c3166a7dab80a5708c1 GIT binary patch literal 16068 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 Date: Wed, 25 Sep 2019 21:15:41 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E9=A2=84=E7=BC=96=E8=AF=91=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E7=89=88=E6=9C=AC=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- EBBannerView/Classes/EBBannerWindow.m | 73 ++++++++---------- demo/.DS_Store | Bin 8196 -> 8196 bytes .../UserInterfaceState.xcuserstate | Bin 16068 -> 9855 bytes 3 files changed, 31 insertions(+), 42 deletions(-) diff --git a/EBBannerView/Classes/EBBannerWindow.m b/EBBannerView/Classes/EBBannerWindow.m index 6fbdf17..fe16f62 100644 --- a/EBBannerView/Classes/EBBannerWindow.m +++ b/EBBannerView/Classes/EBBannerWindow.m @@ -19,58 +19,47 @@ @implementation EBBannerWindow +(instancetype)sharedWindow{ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ - if (@available(iOS 13.0,*)) { - NSSet *scenes = UIApplication.sharedApplication.connectedScenes; - __block UIScene *scene; - [scenes enumerateObjectsUsingBlock:^(UIScene * _Nonnull obj, BOOL * _Nonnull stop) { - if (obj.activationState == UISceneActivationStateForegroundActive && [obj isKindOfClass:[UIWindowScene class]]) { - scene = obj; - *stop = YES; - } - }]; - sharedWindow = [[self alloc] initWithWindowScene:(UIWindowScene *)scene]; - sharedWindow.userInteractionEnabled = NO; - [sharedWindow setHidden:NO]; - }else{ - sharedWindow = [[self alloc] initWithFrame:CGRectZero]; - } +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 + NSSet *scenes = UIApplication.sharedApplication.connectedScenes; + __block UIScene *scene; + [scenes enumerateObjectsUsingBlock:^(UIScene * _Nonnull obj, BOOL * _Nonnull stop) { + if (obj.activationState == UISceneActivationStateForegroundActive && [obj isKindOfClass:[UIWindowScene class]]) { + scene = obj; + *stop = YES; + } + }]; + sharedWindow = [[self alloc] initWithWindowScene:(UIWindowScene *)scene]; + sharedWindow.userInteractionEnabled = NO; + [sharedWindow setHidden:NO]; + +#else + sharedWindow = [[self alloc] initWithFrame:CGRectZero]; +#endif + sharedWindow.windowLevel = UIWindowLevelAlert; sharedWindow.layer.masksToBounds = NO; UIWindow *originKeyWindow = UIApplication.sharedApplication.keyWindow; - if (@available(iOS 13.0,*)) { - - }else { - [sharedWindow makeKeyAndVisible]; - } +#if __IPHONE_OS_VERSION_MAX_ALLOWED < 130000 + [sharedWindow makeKeyAndVisible]; +#endif /* fix bug: EBBannerViewController setSupportedInterfaceOrientations -> Portrait push to a VC with orientation Left UITextFiled's pad will show a wrong orientation with Portrait */ - if (@available(iOS 13.0,*)) { - NSSet *scenes = UIApplication.sharedApplication.connectedScenes; - __block UIScene *scene; - [scenes enumerateObjectsUsingBlock:^(UIScene * _Nonnull obj, BOOL * _Nonnull stop) { - if (obj.activationState == UISceneActivationStateForegroundActive && [obj isKindOfClass:[UIWindowScene class]]) { - scene = obj; - *stop = YES; - } - }]; - emptyWindow = [[EBEmptyWindow alloc] initWithWindowScene:(UIWindowScene *)scene]; - emptyWindow.frame = CGRectZero; - [emptyWindow setHidden:NO]; - }else{ - emptyWindow = [[EBEmptyWindow alloc] initWithFrame:CGRectZero]; - } +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 130000 + emptyWindow = [[EBEmptyWindow alloc] initWithWindowScene:(UIWindowScene *)scene]; + emptyWindow.frame = CGRectZero; + [emptyWindow setHidden:NO]; +#else + emptyWindow = [[EBEmptyWindow alloc] initWithFrame:CGRectZero]; +#endif emptyWindow.windowLevel = UIWindowLevelAlert; - if (@available(iOS 13.0,*)) { - - }else{ - [emptyWindow makeKeyAndVisible]; - [originKeyWindow makeKeyAndVisible]; - } - +#if __IPHONE_OS_VERSION_MAX_ALLOWED < 130000 + [emptyWindow makeKeyAndVisible]; + [originKeyWindow makeKeyAndVisible]; +#endif [EBBannerViewController setSupportedInterfaceOrientations:UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscape]; [EBBannerViewController setStatusBarHidden:NO]; diff --git a/demo/.DS_Store b/demo/.DS_Store index 679e04003037c11af6e354ae7e9b462af3c99e9a..6a6603fa791742fb5e51219e3c9cef8fbb002aaa 100644 GIT binary patch delta 110 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 G`F{W@Y9sFe literal 16068 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