CB-11829 (iOS) Support for CB-9762; docs (CB-11830)

This closes #114
This commit is contained in:
Kerri Shotts
2016-09-22 15:17:33 -05:00
parent 2eb78b3724
commit 62509f6b47
2 changed files with 238 additions and 1 deletions
+23
View File
@@ -178,11 +178,26 @@
return device;
}
- (BOOL) isUsingCDVLaunchScreen {
NSString* launchStoryboardName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UILaunchStoryboardName"];
if (launchStoryboardName) {
return ([launchStoryboardName isEqualToString:@"CDVLaunchScreen"]);
} else {
return NO;
}
}
- (NSString*)getImageName:(UIInterfaceOrientation)currentOrientation delegate:(id<CDVScreenOrientationDelegate>)orientationDelegate device:(CDV_iOSDevice)device
{
// Use UILaunchImageFile if specified in plist. Otherwise, use Default.
NSString* imageName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"UILaunchImageFile"];
// detect if we are using CB-9762 Launch Storyboard; if so, return the associated image instead
if ([self isUsingCDVLaunchScreen]) {
imageName = @"LaunchStoryboard";
return imageName;
}
NSUInteger supportedOrientations = [orientationDelegate supportedInterfaceOrientations];
// Checks to see if the developer has locked the orientation to use only one of Portrait or Landscape
@@ -334,6 +349,14 @@
- (void)updateBounds
{
if ([self isUsingCDVLaunchScreen]) {
// CB-9762's launch screen expects the image to fill the screen and be scaled using AspectFill.
CGSize viewportSize = [UIApplication sharedApplication].delegate.window.bounds.size;
_imageView.frame = CGRectMake(0, 0, viewportSize.width, viewportSize.height);
_imageView.contentMode = UIViewContentModeScaleAspectFill;
return;
}
UIImage* img = _imageView.image;
CGRect imgBounds = (img) ? CGRectMake(0, 0, img.size.width, img.size.height) : CGRectZero;