Как изменить свойства изображения запуска в iOS?

#ios #iphone #ipad #splash-screen

#iOS #iPhone #iPad #заставка

Вопрос:

У меня было приложение для iPhone, в котором я использую изображение Default-568h@2x.png в качестве изображения или заставки.

Также в то же время я устанавливаю одно и то же изображение в виде изображения в окне для некоторой анимации на заставке. Непрозрачность моего изображения составляет 90%.

Проблема здесь в том, что перед тем, как в окне появится наше собственное изображение, изображение запуска отображается со 100% непрозрачностью, а затем наше собственное изображение отображается с фактическим 90%. Таким образом, в двух изображениях наблюдается заметный переход за доли секунды. С этим не очень хорошо, можем ли мы избежать этого, почему мое изображение запуска сначала отображается с полной непрозрачностью? Кто-нибудь может мне помочь в этом?

Ответ №1:

Приложения iOS всегда запускаются с изображением, установленным на полную непрозрачность — вы не можете это изменить. Если вы хотите сопоставить начальный экран с изображением запуска, у вас есть два варианта:

1) Сделайте изображение полностью непрозрачным; тогда в вашем applicationDidFinishLaunchingWithOptions: методе вы могли бы сделать что-то вроде этого:

 [UIView animateWithDuration:0.1 animations:^{

    self.imageView.alpha = 0.9;

}];
  

Таким образом, после завершения запуска вашего приложения непрозрачность изображения уменьшится до 90%.

2) Определите, что будет находиться под изображением после запуска вашего приложения, затем скомпоновайте изображение запуска с этим; так, чтобы оно выглядело одинаково. Вы можете сделать это, запустив свое приложение, дождавшись, пока исчезнет текущее изображение запуска, затем сделав снимок экрана запущенного приложения и используя этот снимок экрана в качестве нового изображения запуска.

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

1. так что эффект будет таким же, не так ли? сначала изображение с полной непрозрачностью, затем с 90%. то же самое происходит и сейчас

2. проблема здесь не в непрозрачности изображения, почему мое исходное изображение не отображается при запуске, непрозрачность моего изображения составляет всего 90%.

3. Непрозрачность вашего изображения запуска будет проигнорирована. Вы не можете это изменить; вам просто нужно обойти это.

4. Я добавил еще одну опцию — подделать прозрачность в изображении запуска.

Ответ №2:

Измените имя изображения на что-то другое, например, Splash.png

Теперь компилятору не удалось найти какой-либо образ запуска по умолчанию для вашего приложения.

Затем он попытается напрямую загрузить ваше окно. Итак, загрузите свое изображение / вид поверх окна с требуемой анимацией.

или

Используйте изображение по умолчанию -568h, которое уже имеет меньшую непрозрачность (с использованием инструментов типа Photoshop), скажем, 90%. Теперь добавьте еще одно изображение, splash.png с непрозрачностью 100%. Поэтому, когда ваш код запускается, он сначала преобразует splash.png в непрозрачность 90%, а затем подразумевает ваш код анимации.

Таким образом, не будет никакого отставания между изображением по умолчанию и заставкой, оба будут выглядеть одинаково.