adjust screen scaling for known watch sizes
This commit is contained in:
parent
3d6e952320
commit
77b060fc3e
|
@ -162,7 +162,8 @@ static NSObject<Emulator> *sharedEmulator = nil;
|
|||
sharedEmulator.screenLayer = fullScreenView.layer;
|
||||
sharedEmulator.speed = sharedEmulator.initialSpeed;
|
||||
[sharedEmulator.screenLayer setContentsGravity:@"CAGravityResizeAspectFill"];
|
||||
[sharedEmulator.screenLayer setAffineTransform:CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI_2), 0.375, 0.375)];
|
||||
CGFloat scale = [self bestScaleForScreen];
|
||||
[sharedEmulator.screenLayer setAffineTransform:CGAffineTransformScale(CGAffineTransformMakeRotation(M_PI_2), scale, scale)];
|
||||
[sharedEmulator.screenLayer setMinificationFilter:@"CAFilterTrilinear"];
|
||||
#if TARGET_OS_SIMULATOR
|
||||
[sharedEmulator performSelector:@selector(run) withObject:nil afterDelay:0.1];
|
||||
|
@ -176,6 +177,28 @@ static NSObject<Emulator> *sharedEmulator = nil;
|
|||
[runtimeSession start];
|
||||
}
|
||||
|
||||
- (CGFloat)bestScaleForScreen {
|
||||
CGSize screenSize = [UIScreen mainScreen].bounds.size;
|
||||
NSInteger screenWidthAndHeight = (NSInteger)(screenSize.width) * 1000 + (NSInteger)(screenSize.height);
|
||||
// manually selected scales to account for non-square screens
|
||||
switch (screenWidthAndHeight) {
|
||||
// 38 40 41 42 44 45 49
|
||||
case 136170: // 38mm
|
||||
return 0.33;
|
||||
case 176215: // 41mm
|
||||
return 0.40;
|
||||
case 184224: // 44mm
|
||||
return 0.42;
|
||||
case 198242: // 45mm
|
||||
case 205251: // 49mm
|
||||
return 0.455;
|
||||
case 162197: // 40mm
|
||||
case 156195: // 42mm
|
||||
default:
|
||||
return 0.375;
|
||||
}
|
||||
}
|
||||
|
||||
- (void)extendedRuntimeSessionDidStart:(WKExtendedRuntimeSession *)extendedRuntimeSession {
|
||||
#if TARGET_OS_SIMULATOR == 0
|
||||
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback
|
||||
|
|
|
@ -41,6 +41,14 @@ NS_ASSUME_NONNULL_BEGIN
|
|||
|
||||
@end
|
||||
|
||||
@interface UIScreen : NSObject
|
||||
|
||||
@property(nonatomic, readonly) CGRect bounds;
|
||||
|
||||
+ (instancetype)mainScreen;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
||||
#endif /* UIKit_h */
|
||||
|
|
Loading…
Reference in New Issue