具体方向背景

时间:2013-06-15 09:19:58

标签: ipad ios6 orientation

这是我在ipad iOS6中指定背景的代码,

- (void)viewDidLoad
{
    if ([[UIScreen mainScreen] bounds].size.height == 1024)
    {
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"homeipad.png"]];
    }
    else if ([[UIScreen mainScreen] bounds].size.height == 768)
    {
        self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"landscapipad.png"]];
    }
}

它没有变化取决于方向?我已经包括

-(BOOL)shouldAutorotate
{
     return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskAll;
}

如何在ipad中为相应的方向分配特定的背景图像?

1 个答案:

答案 0 :(得分:0)

只有在内存中创建一个新的viewDidLoad对象并推送/显示该控制器对象时,才会调用UIViewController

方法名称viewDidLoad定义您的viewcontroller视图已加载。现在,您可以在此处执行所有初始化任务。

回答您的问题。

以下UIVIewController的委托方法将为您提供帮助。每次设备更改其方向时都会调用这些方法。

// Called before interface rotation 
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;

// Called after interface rotation
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation;

还有一件事,您可以通过以上两种方法检查当前方向,而不是比较屏幕高度。

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration;
{
    if( UIInterfaceOrientationIsLandscape(toInterfaceOrientation))
    {
        // Your code goes here for landscape orientation
    }
    else
    {
        // Your code goes here for portrait orientation
    }
}