Вопрос по retina-display, ios, uiimage –  любить

7

имаю, как программно загружать изображения для моего приложения из URL, а не упаковывать их в приложение, но как мне решить проблему 1x против 2x? Я могу обслуживать обе версии из внешнего источника, если это необходимо, но как мне справиться с этим при настройке UIImage?

Вы пробовали просто ссылатьсяexample.com/image.png но в этом месте разместить файлы image & [email protected]? Luke

Ваш Ответ

1   ответ
7

что вы не можете автоматически загружать файлы изображений @ 2x автоматически. Вам нужно будет проверить дисплей сетчатки, а затем получить соответствующие изображения, например:

UIImage *image;
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] == 2){
  // @2x
  NSURL *imageURL = [NSURL URLWithString:@"http://www.example.com/images/[email protected]"];
  NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
  image = [UIImage imageWithData:imageData];
} else {
  // @1x
  NSURL *imageURL = [NSURL URLWithString:@"http://www.example.com/images/yourImage.png"];
  NSData * imageData = [NSData dataWithContentsOfURL:imageURL];
  image = [UIImage imageWithData:imageData];
}
UIImageView *yourImageView = [[UIImageView alloc] initWithImage:image];
Вы не должны установить такжеcontentScaleFactor изyourImageView в[[UIScreen mainScreen] scale] любить[yourImageView setContentScaleFactor:[[UIScreen mainScreen] scale]]? Ali

Похожие вопросы