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 <[email protected]>
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