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

Reply via email to