diff --git a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm index 44cd38b3d8..fb3a03ca1d 100644 --- a/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm +++ b/ios/sdk/WeexSDK/Sources/Bridge/WXCoreBridge.mm @@ -1538,11 +1538,14 @@ + (void)install env->AddOption("scale", "1"); env->AddOption("pixel_scale", std::to_string([[UIScreen mainScreen] scale])); + // Here we initialize weex device width and height using portrait by default. CGSize screenSize = [UIScreen mainScreen].bounds.size; - env->SetDeviceWidth(std::to_string(screenSize.width)); - env->SetDeviceHeight(std::to_string(screenSize.height)); - env->AddOption("screen_width_pixels", std::to_string(screenSize.width)); - env->AddOption("screen_height_pixels", std::to_string(screenSize.height)); + CGFloat w = MIN(screenSize.width, screenSize.height); + CGFloat h = MAX(screenSize.width, screenSize.height); + env->SetDeviceWidth(std::to_string(w)); + env->SetDeviceHeight(std::to_string(h)); + env->AddOption("screen_width_pixels", std::to_string(w)); + env->AddOption("screen_height_pixels", std::to_string(h)); weex::base::LogImplement::getLog()->setLogImplement(new WeexCore::LogBridgeIOS()); @@ -1552,8 +1555,6 @@ + (void)install weex::base::LogImplement::getLog()->setDebugMode(false); #endif - - platformBridge = new WeexCore::PlatformBridge(); platformBridge->set_platform_side(new WeexCore::IOSSide()); platformBridge->set_core_side(new WeexCore::CoreSideInPlatform());