我正在制作一个ios应用并使用xib文件而不是故事板。起初我甚至不需要使用自动布局,所有iphone设备都可以正常使用。但是只要我通过断言添加了启动画面,只有iphone 5具有正确的布局(因为xib文件大小设置为4英寸)。但是任何更大的屏幕尺寸和只有左上角的覆盖如下:
我希望视图覆盖整个屏幕。顶部有一个视图,但我不能添加任何约束。在视图内部有一个应该覆盖整个屏幕的imageview。所以我添加了4个约束并将4个边固定为0,因此imageview应该覆盖整个屏幕。但它仍然无效。我能做什么才能涵盖整个屏幕?
答案 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,你必须在那里设置约束。