From 7f3ab8715fb5ecf98018cd366db8b415b6bed38f Mon Sep 17 00:00:00 2001 From: mgaver Date: Thu, 16 Oct 2014 09:11:26 +0900 Subject: [PATCH] use nativeScale insted of scale, works fine. iPhone 6 Plus scale fix --- ios/ViewController.mm | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/ios/ViewController.mm b/ios/ViewController.mm index 333d360807..1a993975b8 100644 --- a/ios/ViewController.mm +++ b/ios/ViewController.mm @@ -22,7 +22,6 @@ #define IS_IPAD() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPad) #define IS_IPHONE() ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone) -#define IS_IPHONE_6P() (IS_IPHONE() && [[UIScreen mainScreen] bounds].size.height == 736.0) float dp_xscale = 1.0f; float dp_yscale = 1.0f; @@ -132,11 +131,16 @@ ViewController* sharedViewController; [EAGLContext setCurrentContext:self.context]; self.preferredFramesPerSecond = 60; - float scale = (IS_IPHONE_6P() ? 3.0f : [UIScreen mainScreen].scale); + float scale = [UIScreen mainScreen].scale; + + if ([[UIScreen mainScreen] respondsToSelector:@selector(nativeScale)]) { + scale = [UIScreen mainScreen].nativeScale; + } + CGSize size = [[UIApplication sharedApplication].delegate window].frame.size; if (size.height > size.width) - { + { float h = size.height; size.height = size.width; size.width = h; @@ -229,7 +233,11 @@ ViewController* sharedViewController; { lock_guard guard(input_state.lock); - float scale = (IS_IPHONE_6P() ? 3.0f : [UIScreen mainScreen].scale); + float scale = [UIScreen mainScreen].scale; + + if ([[UIScreen mainScreen] respondsToSelector:@selector(nativeScale)]) { + scale = [UIScreen mainScreen].nativeScale; + } float scaledX = (int)(x * dp_xscale) * scale; float scaledY = (int)(y * dp_yscale) * scale;