iPad定位问题

时间:2010-12-22 13:50:16

标签: ipad orientation

我从一个tabbar应用程序开始,它有2个视图(firstviewcontroller和secondviewcontroller)。第二个视图控制器没有背景图像,但第一个视图控制器没有。

我有2张图片,一张是protrait,另一张是横向。我想要做的就是在方向改变时加载背景图像。我想支持所有方向。

这是我的viewdidload方法

-(void)viewDidLoad 
{
    imgview=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"bgportrait.png"]];
    [imgview setFrame:CGRectMake(0, 0, 768, 1024)];
    [self.view addSubview:imgview];
    [self.view sendSubviewToBack:imgview];
    [imgview release];
}

(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation     {NSLog(@“in shouldrotate”);         返回YES;     }

(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if (toInterfaceOrientation == (UIInterfaceOrientationPortrait || UIInterfaceOrientationPortraitUpsideDown))
{
    NSLog(@"in portrait");
}
else if (toInterfaceOrientation == (UIInterfaceOrientationLandscapeLeft || UIInterfaceOrientationLandscapeRight))
{
    NSLog(@"in landscape");
}

}

在willRotateToInterfaceOrientation中,它永远不会进入任何if循环并且它不会打印日志,我不确定为什么它与它们中的任何一个都不匹配。我只想为firstviewcontroller设置合适的backgroundimage。我知道这应该很简单,但我无法做到。

1 个答案:

答案 0 :(得分:2)

检查你的情况

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
    if(toInterfaceOrientation==UIInterfaceOrientationPortrait || 
       toInterfaceOrientation==UIInterfaceOrientationPortraitUpsideDown)
    {
       NSLog(@"in portrait");
    }
    else
    {
        NSLog(@"in landscape");
    }
}