Фоновые изображения iphone при смене устройства - PullRequest
1 голос
/ 02 июля 2011

У меня есть UIImageView в качестве фона позади моих элементов управления, проблема возникает при повороте устройства. Я хотел бы использовать другой image в зависимости от orientation.

Так, что было бы лучшим способом справиться с этим? Добавление и удаление каждого UIImageView для пейзажа и портрета? Имея как на виду, так и скрыть / показать соответствующий? Или, может быть, есть какой-то класс или UIObject для обработки этого?

1010 * ТИА *

Ответы [ 3 ]

1 голос
/ 02 июля 2011

Вы можете получить фанк с этим и наложить оба фоновых изображения, одно с альфа = 1,0, а другое с альфа = 0,0.Затем, когда вы вращаетесь, используйте анимацию, чтобы перевести альфы в 0.0 и 1.0 соответственно, чтобы получить эффект постепенного исчезновения.Если вы выбираете этот подход, я рекомендую поместить код анимации в -viewWillAppear: Например, что-то вроде этого:

[UIView beginAnimations:nil context:NULL]; {
    [UIView setAnimationCurve:UIViewAnimationCurveEaseInOut];
    [UIView setAnimationDuration:1.0];
        [UIView setAnimationDelegate:self];
        if (toOrientation == UIInterfaceOrientationLandscape) {
                landscapeView.alpha = 1.0;
                portraitView.alpha = 0.0;
        }
        else {
                landscapeView.alpha = 0.0;
                portraitView.alpha = 1.0;
        }
} [UIView commitAnimations];
1 голос
/ 27 мая 2016

Теперь вы можете использовать классы размеров для этой цели.Все, что вам нужно сделать, это установить изображения для компактной высоты любой ширины и выполнить подсказку, приведенную в этой статье: http://pinkstone.co.uk/how-to-handle-device-rotation-since-ios-8/ Это все, что нужно для изменения фонового изображения при вращении.

1 голос
/ 02 июля 2011

Вы можете просто установить его свойство изображения на другое изображение.

someUIImageView.image = [UIImage imageNamed:@"foo.png"];
...