在风景中没有显示图像和按钮

时间:2016-02-12 16:59:40

标签: ios objective-c iphone

我在代码中的一个视图控制器中添加了一个imageview,2个按钮。在纵向模式下,它运作良好。但在横向模式下无法看到图像和按钮。

@implementation ViewController {
    UIImageView* imgView; // your UIImageView
}


- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    [[self navigationController] setNavigationBarHidden:YES animated:YES];

    UIImage* img1 = [UIImage imageNamed:@"11.jpg"];
    UIImage* img2 = [UIImage imageNamed:@"s2.jpg"];


    imgView = [[UIImageView alloc] initWithFrame:self.view.frame]; // create a UIImageView with the same size as the view.
    imgView.animationImages = @[img1, img2]; // use a nice NSArray literal to pass in your images.
    imgView.animationDuration = 2.0*2.0; // 2 seconds for each image (x3 images)
    [self.view addSubview:imgView]; // add UIImageView to view

    [imgView startAnimating]; // start animating

 // button one
    UIButton* button = [[UIButton alloc] initWithFrame:CGRectMake(0.0, self.view.frame.size.height-50, self.view.frame.size.width/2 , 50.0)];

    [button setBackgroundColor:[UIColor colorWithRed:188/255.0f green:155/255.0f blue:211/255.0f alpha:0.6f]];

    [button setTitle:@"Sign Up" forState:UIControlStateNormal];

    [button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; // title color
    [button addTarget:self action:@selector(method:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:button];

  // Button Two
    UIButton* button1 = [[UIButton alloc] initWithFrame:CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height-50, self.view.frame.size.width/2 , 50.0)];

   [button1 setBackgroundColor:[UIColor colorWithRed:188/255.0f green:155/255.0f blue:211/255.0f alpha:0.6f]];
    [button1 setTitle:@"Sign In" forState:UIControlStateNormal];
    [button1 addTarget:self action:@selector(method:) forControlEvents:UIControlEventTouchUpInside];

    [button1 setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; // title color
    [self.view addSubview:button1];
    // Border color for one button
    UIView *leftBorder = [[UIView alloc] initWithFrame:CGRectMake(0, 1, 1, button.frame.size.height)];
    leftBorder.backgroundColor = [UIColor colorWithRed:237/255.0f green:211/255.0f blue:246/255.0f alpha:0.6f];
    [button1 addSubview:leftBorder];

}

为什么它不适合景观。请帮助我,因为肖像工作得很好。对于景观它不起作用..

2 个答案:

答案 0 :(得分:0)

它不在横向工作,因为当我们旋转到横向按钮和图像视图时,就像在代码中定位它们一样,它位于屏幕底部的下方。

答案 1 :(得分:0)

您必须实施自动布局。它将解决问题。请避免对位置进行硬编码,否则会在UI中产生问题。如果您想对点进行硬编码,请将您的应用设置为纵向模式或横向模式。

在自动布局中,也可以通过编程方式设置约束。只需检查哪个是可行的并实现它。