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 156c966  [iOS] Public methods for getting/setting global device size. 
(#2534)
156c966 is described below

commit 156c96634b72d2d9fde44d7bc46cca914da5ae0e
Author: wqyfavor <qianyuan....@taobao.com>
AuthorDate: Wed Jun 12 15:04:08 2019 +0800

    [iOS] Public methods for getting/setting global device size. (#2534)
---
 ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm |  2 ++
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h   | 15 +++++++++++++++
 ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m   | 11 +++++++++++
 3 files changed, 28 insertions(+)

diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm 
b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
index 4dcde85..da7514e 100644
--- a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
+++ b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm
@@ -1046,6 +1046,7 @@ static WeexCore::ScriptBridge* jsBridge = nullptr;
 
 + (void)setDeviceSize:(CGSize)size
 {
+    [WXCoreBridge install];
     WeexCore::WXCoreEnvironment* env = 
WeexCore::WXCoreEnvironment::getInstance();
     env->SetDeviceWidth(std::to_string(size.width));
     env->SetDeviceHeight(std::to_string(size.height));
@@ -1053,6 +1054,7 @@ static WeexCore::ScriptBridge* jsBridge = nullptr;
 
 + (CGSize)getDeviceSize
 {
+    [WXCoreBridge install];
     WeexCore::WXCoreEnvironment* env = 
WeexCore::WXCoreEnvironment::getInstance();
     return CGSizeMake(env->DeviceWidth(), env->DeviceHeight());
 }
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h 
b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
index ac014a5..9d70c9d 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.h
@@ -215,6 +215,21 @@
  */
 + (void)connectDevToolServer:(NSString *)URL;
 
+/**
+ * @abstract Set the global device size of all pages.
+ * You could also set unique device size used by a page using interface of 
WXSDKInstance.
+ *
+ * @param size, the device size in UIKit system.
+ *
+ */
++ (void)setGlobalDeviceSize:(CGSize)size;
+
+/**
+ * @abstract Get the current global device size used by pages.
+ *
+ */
++ (CGSize)getGlobalDeviceSize;
+
 @end
 
 @interface WXSDKEngine (Deprecated)
diff --git a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m 
b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
index bdc6a3b..dc717d8 100644
--- a/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
+++ b/ios/sdk/WeexSDK/Sources/Engine/WXSDKEngine.m
@@ -41,6 +41,7 @@
 #import "WXExceptionUtils.h"
 #import "WXConfigCenterProtocol.h"
 #import "WXComponent+Layout.h"
+#import "WXCoreBridge.h"
 
 @implementation WXSDKEngine
 
@@ -370,6 +371,16 @@ static NSDictionary *_customEnvironment = nil;
     [[WXSDKManager bridgeMgr] connectToDevToolWithUrl:[NSURL 
URLWithString:URL]];
 }
 
++ (void)setGlobalDeviceSize:(CGSize)size
+{
+    [WXCoreBridge setDeviceSize:size];
+}
+
++ (CGSize)getGlobalDeviceSize
+{
+    return [WXCoreBridge getDeviceSize];
+}
+
 + (void)_originalRegisterComponents:(NSDictionary *)components {
     NSMutableDictionary * mutableComponents = [components mutableCopy];
     void (^componentBlock)(id, id, BOOL *) = ^(id mKey, id mObj, BOOL * mStop) 
{

Reply via email to