基于呈现视图控制器和方向显示不同的图像

时间:2013-02-01 17:43:36

标签: ios objective-c

我从其他几个人那里呈现了这个视图控制器。如何基于

呈现不同的图像
  1. 哪个视图控制器提供了这个
  2. 当前界面方向
  3. 现在我有一个按钮,可以在ContextualController上方打开屏幕尺寸图像。 我想根据我在三个不同的UIViewControllers按下按钮的位置来调用不同的图像。

    来自UIViewController1我要致电context_1_landscapecontext_1_portrait。来自UIViewController2我想致电context_2_landscapecontext_2_portrait

    -(void) viewDidLoad;
    {
        [super viewDidLoad];    
    
        if((self.interfaceOrientation == UIDeviceOrientationLandscapeLeft)||    (self.interfaceOrientation ==UIDeviceOrientationLandscapeRight)){
            UIImageView *imageview = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"context_1_landscape.png"]];
            [self.view addSubview:imageview];
        } 
        else if ((self.interfaceOrientation ==UIDeviceOrientationPortrait)||(self.interfaceOrientation ==UIDeviceOrientationPortraitUpsideDown)){
            UIImageView *imageview = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"context_1_portrait.png"]];
            [self.view addSubview:imageview];
        }
    

1 个答案:

答案 0 :(得分:1)

您可以使用presentingViewController的{​​{1}}属性找出向您展示的人。我的建议是让每个presentationViewControllers都有一个属性,即要显示的图像名称(或图像本身)。然后在UIViewController中,您要求viewDidLoad(投射到相应类的对象)以提供用于纵向或横向的图像。