Итак, у меня есть приложение, которое должно загрузить другое изображение в качестве фонового изображения в зависимости от ориентации устройства. У меня есть следующий код в viewDidLoad:
BOOL isLandScape = UIDeviceOrientationIsLandscape(self.interfaceOrientation);
if (isLandScape)
{
self.bgImage.image = [UIImage imageNamed:@"login_bg748.png"];
}
По какой-то причине, даже если симулятор запускается в ландшафте, это bool все еще ложно. Я проверил, и он всегда сообщает, что находится в портретном режиме, независимо от фактической ориентации симулятора. У кого-нибудь есть идеи относительно того, почему это не работает?
В mustAutoRotateForInterfaceOrientation у меня есть следующее:
if (UIDeviceOrientationIsLandscape(interfaceOrientation))
{
self.bgImage.image = [UIImage imageNamed:@"login_bg748.png"];
} else
{
self.bgImage.image = [UIImage imageNamed:@"login_bg1004.png"];
}
return YES;
И этот код работает, он просто запутался. После выполнения одного поворота он работает нормально.