diff --git a/Sources/ColourOptionsController2.m b/Sources/ColourOptionsController2.m index 3014ce9..745d9cd 100644 --- a/Sources/ColourOptionsController2.m +++ b/Sources/ColourOptionsController2.m @@ -26,17 +26,21 @@ self.selectedColor = color; if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad && UIInterfaceOrientationIsLandscape(self.interfaceOrientation)) { - CGRect screenRect = [[UIScreen mainScreen] bounds]; - CGFloat screenWidth = screenRect.size.width; - if (screenWidth == 1024 || screenWidth == 1112) { - self.view.transform = CGAffineTransformMakeScale(0.7, 0.7); - } + CGFloat scale = MIN(self.view.bounds.size.width / 1024, self.view.bounds.size.height / 768); + self.view.transform = CGAffineTransformMakeScale(scale, scale); } } -- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection { - [super traitCollectionDidChange:previousTraitCollection]; - [self loadView]; +- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator { + [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator]; + + if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) { + CGFloat scale = MIN(size.width / 1024, size.height / 768); + [coordinator animateAlongsideTransition:^(id context) { + self.view.transform = CGAffineTransformMakeScale(scale, scale); + } completion:^(id context) { + }]; + } } @end