2016-04-17 2 views
0

У меня одинаковое изображение во всех размерах (320x480 640x960 640x1136 750x1334 1242x2208), и я использую эти изображения для запуска экрана (Assets -> New IOS Launch Image). Я хотел бы использовать это изображение (в UIImageView) во время выполнения приложения, выбрав подходящее изображение для экрана размера используемого устройства. В Launch Screen отлично, но если я использую LaunchImage для UIImageView, изображение в поле зрения отличается.Установите изображение на экран

В этой ссылке есть мой тестовый код (Launch.zip) https://github.com/Volpesio/Launch.git Этот код запуска Launch изображения (отлично), и после того, как он показывает один UIImageView, он должен использовать один и тот же образ Launch но didifferent

Как изменить размер или как выбрать подходящее изображение для используемого устройства? Вы можете помочь мне, пожалуйста ..

+0

Я думаю, что это [ссылка ] (http://engineering.circle.com/fullscreen-images-on-iphone-6-with-asset-catalogs/) может быть полезно, возможно, вы можете попытаться назвать изображения с помощью определенного соглашения, чтобы решить вашу проблему. –

+0

Хорошо, это решение хорошее. В xcode 7 нет «Retina 4 x2», но это нормально, проблем нет. Если я вставляю изображения различного размера в дополнение к изображениям в LaunchImages, я создам занятие памятью для одних и тех же изображений. Эти изображения большие, потому что они в HD – alessiovolpe

+0

@ Cheng-Yu Hsu, спасибо за вашу ссылку, это было прекрасно. – alessiovolpe

ответ

0

я решил его с этим кодом:

extension UIImage { 
    convenience init?(fullscreenNamed name: String) { 
     switch UIScreen.mainScreen().bounds.size.height { 
     case 480: //iPhone 4/4s 
      self.init(named: "\(name)[email protected]") 
     case 568: //iPhone 5/5s 
      self.init(named: "\(name)[email protected]") 
     case 667: //iPhone 6/6s 
      self.init(named: "\(name)[email protected]") 
     case 736: //iPhone 6+/6s+ 
      self.init(named: "\(name)[email protected]") 
     default: 
      self.init(named: name) 
     } 
    } 
} 

я беру в «LaunchImage» право изображения на экране устройства в использовании

Смежные вопросы