我有一个应用程序,需要根据设备的方向加载不同的图片作为背景图像。我在viewDidLoad中使用以下代码:
BOOL isLandScape = UIDeviceOrientationIsLandscape(self.interfaceOrientation);
if (isLandScape)
{
self.bgImage.image = [UIImage imageNamed:@"login_bg748.png"];
}
由于某种原因,即使模拟器以横向开始,此布尔值仍然为false。我检查了一下,它总是报告处于纵向模式,而不管实际的模拟器方向如何。有人知道为什么这不起作用吗?
在shouldAutoRotateForInterfaceOrientation中,我有以下内容:
if (UIDeviceOrientationIsLandscape(interfaceOrientation))
{
self.bgImage.image = [UIImage imageNamed:@"login_bg748.png"];
} else
{
self.bgImage.image = [UIImage imageNamed:@"login_bg1004.png"];
}
return YES;
这段代码是可以正常工作的,只是启动时出了问题。在旋转一次后,它就能正常运行。