Как стать автором
Обновить

Комментарии 10

Так это, default.png — это чтобы показывать pre-rendered GUI приложения, сделать иллюзию, что приложение и не закрывалось (1.0-3.0)

Вопрос — а как сделать скриншот экрана приложения когда оно уходит в background?
Например. вот таким образом
- (void)applicationDidEnterBackground:(UIApplication *)application {
UIGraphicsBeginImageContext(self.window.bounds.size);
[self.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();

NSData * pngData = UIImagePNGRepresentation(viewImage);
NSArray* dirs = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString* documentsPath = [dirs objectAtIndex:0];
NSString * splashDest = [documentsPath stringByAppendingPathComponent:@"Splash.png"];
[pngData writeToFile:splashDest atomically:NO];

}
Вы про Retina не слышали? Правильнее будет так:
UIGraphicsBeginImageContextWithOptions(self.window.bounds.size, NO, [UIScreen mainScreen].scale);
Спасибо, не знал, запомню.
В последний раз, когда скриншот надо было делать, Retina еще не было.
Не за что. Сам попался на этом недавно :)
FYI, в UIGraphicsBeginImageContextWithOptions последним аргументом можно спокойно передавать 0, тогда scale будет такой, как у основного экрана, т.е. == [[UIScreen mainScreen] scale].
Я бы к минусам еще добавил, что не известно как долго этот способ будет работать (не изменят ли механизм в будущих ОС).
В случае с iOS, много в чем нельзя быть 100% уверенным
Так, например с версии iOS 3.2 убрали возможность ставить полупрозрачные иконки для приложений.
Хотя ничто не предвещало беды.
прикольно. Как минимум это даст возможность сплеш-скрин показывать на языке юзера (ведь стандартный статический сплеш-скрин Defaults.png берется без учета локализации, верно?)
Неверно.
Локализуется также как и любой другой ресурс в iOS (достаточно разложить файлики по [locale id].lproj папочкам).
И обязательно удалить из билда исходный Default.png и с девайса снести приложение и поставить заново. Ибо оно там остается в корне висеть…
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории