This is an automated email from the ASF dual-hosted git repository. jianhan pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-weex.git
The following commit(s) were added to refs/heads/master by this push: new d06ba62 [iOS] adapt for iPad device new 58b4ee0 Merge pull request #3132 from jianhan-he/master d06ba62 is described below commit d06ba620ab067d9bd6e0fe96c1539f079efdb0e4 Author: linghe.lh <linghe...@alibaba-inc.com> AuthorDate: Fri Feb 7 11:45:21 2020 +0800 [iOS] adapt for iPad device --- ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m | 14 +++++++++----- ios/sdk/WeexSDK/Sources/Utility/WXUtility.h | 5 +++++ ios/sdk/WeexSDK/Sources/Utility/WXUtility.m | 4 ++++ 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m b/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m index 48a3f4d..7a5ba0f 100644 --- a/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m +++ b/ios/sdk/WeexSDK/Sources/Module/WXModalUIModule.m @@ -155,29 +155,33 @@ static const CGFloat WXToastDefaultPadding = 30.0; if (window == NULL) { window = [[[UIApplication sharedApplication] windows] firstObject]; } + CGSize windowSize = window.frame.size; + if ([WXUtility deviceIsiPad]) { + windowSize = self.weexInstance.viewController.view.frame.size; + } // adjust to screen orientation UIInterfaceOrientation orientation = (UIInterfaceOrientation)[[UIApplication sharedApplication] statusBarOrientation]; switch (orientation) { case UIDeviceOrientationPortrait: { - point = CGPointMake(window.frame.size.width/2, window.frame.size.height/2); + point = CGPointMake(windowSize.width/2, windowSize.height/2); break; } case UIDeviceOrientationPortraitUpsideDown: { toastView.transform = CGAffineTransformMakeRotation(M_PI); - float width = window.frame.size.width; - float height = window.frame.size.height; + float width = windowSize.width; + float height = windowSize.height; point = CGPointMake(width/2, height/2); break; } case UIDeviceOrientationLandscapeLeft: { toastView.transform = CGAffineTransformMakeRotation(M_PI/2); //rotation in radians - point = CGPointMake(window.frame.size.width/2, window.frame.size.height/2); + point = CGPointMake(windowSize.width/2, windowSize.height/2); break; } case UIDeviceOrientationLandscapeRight: { toastView.transform = CGAffineTransformMakeRotation(-M_PI/2); - point = CGPointMake(window.frame.size.width/2, window.frame.size.height/2); + point = CGPointMake(windowSize.width/2, windowSize.height/2); break; } default: diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h index 91d3365..d9b1e5c 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h +++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.h @@ -291,6 +291,11 @@ _Nonnull SEL WXSwizzledSelectorForSelector(_Nonnull SEL selector); */ + (CGFloat)defaultPixelScaleFactor; +/** + * @return true if the device is iPad + */ ++ (BOOL)deviceIsiPad; + #if defined __cplusplus extern "C" { #endif diff --git a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m index c2e0696..9ded42f 100644 --- a/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m +++ b/ios/sdk/WeexSDK/Sources/Utility/WXUtility.m @@ -824,6 +824,10 @@ static BOOL gIsEnvironmentUsingDarkScheme = NO; return defaultScaleFactor; } ++ (BOOL)deviceIsiPad { + return [[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad; +} + #pragma mark - RTL + (void)setEnableRTLLayoutDirection:(BOOL)value