希望xib文件覆盖整个屏幕而不是覆盖左上方的ios

时间:2016-04-27 15:49:16

标签: ios objective-c autolayout xib

我正在制作一个ios应用并使用xib文件而不是故事板。起初我甚至不需要使用自动布局,所有iphone设备都可以正常使用。但是只要我通过断言添加了启动画面,只有iphone 5具有正确的布局(因为xib文件大小设置为4英寸)。但是任何更大的屏幕尺寸和只有左上角的覆盖如下:

enter image description here

我希望视图覆盖整个屏幕。顶部有一个视图,但我不能添加任何约束。在视图内部有一个应该覆盖整个屏幕的imageview。所以我添加了4个约束并将4个边固定为0,因此imageview应该覆盖整个屏幕。但它仍然无效。我能做什么才能涵盖整个屏幕?

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置框架?

NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xibFileName" owner:nil options:nil];        
[[array objectAtIndex:0] setFrame:self.view.frame]; // Trick here: set the main view frame

这适用于我的情况:

// Create a Container
    UIView *container = [[UIView alloc] initWithFrame:self.view.frame];
    container.backgroundColor = [UIColor clearColor];

// Add .xib file on top of the screen
    NSArray *array = [[NSBundle mainBundle] loadNibNamed:@"xibFileName" owner:nil options:nil];        
    [container addSubview:[array objectAtIndex:0]];

// Add container to main view
    [self.view addSubview:container];

关于.xib文件中的itens,你必须在那里设置约束。