Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
希望xib文件覆盖整个屏幕,而不是覆盖左上角的ios_Ios_Objective C_Autolayout_Xib - Fatal编程技术网

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

希望xib文件覆盖整个屏幕,而不是覆盖左上角的ios,ios,objective-c,autolayout,xib,Ios,Objective C,Autolayout,Xib,我正在制作一个ios应用程序,并使用xib文件而不是故事板。起初,我甚至不必使用自动布局,所有的iphone设备在纵向上都运行良好。但当我通过Assets添加启动屏幕时,只有iphone 5的布局正确(因为xib文件大小设置为4英寸)。但如果屏幕尺寸更大,只有左上角被覆盖,如下所示: 我希望视图覆盖整个屏幕。顶部有一个视图,但我无法为其添加任何约束。在视图内部有一个imageview,它应该覆盖整个屏幕。因此,我添加了4个约束,并将4个边固定为0,这样imageview应该覆盖整个屏幕。但它仍

我正在制作一个ios应用程序,并使用xib文件而不是故事板。起初,我甚至不必使用自动布局,所有的iphone设备在纵向上都运行良好。但当我通过Assets添加启动屏幕时,只有iphone 5的布局正确(因为xib文件大小设置为4英寸)。但如果屏幕尺寸更大,只有左上角被覆盖,如下所示:


我希望视图覆盖整个屏幕。顶部有一个视图,但我无法为其添加任何约束。在视图内部有一个imageview,它应该覆盖整个屏幕。因此,我添加了4个约束,并将4个边固定为0,这样imageview应该覆盖整个屏幕。但它仍然不起作用。我该怎么做才能覆盖整个屏幕?

您试过设置框架了吗

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文件中的iten,您必须在那里设置约束。

您尝试过设置框架吗

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,您必须在那里设置限制。

在启动屏幕之前,屏幕只是按iOS进行了放大,而您没有进行适当的iPhone6/6s屏幕支持;现在,由于启动屏幕iOS没有进行上采样,您需要正确设置带有自动布局的界面,以便将您的布局应用于多个大小的屏幕–这就是为什么您的应用程序看起来位于左上角;这不是xib与故事板的问题,必须仅部署约束。在启动屏幕之前,屏幕仅通过iOS进行放大,并且您没有进行适当的iPhone6/6s屏幕支持;现在,由于启动屏幕iOS没有进行上采样,您需要正确设置带有自动布局的界面,以便将您的布局应用于多个大小的屏幕–这就是为什么您的应用程序看起来位于左上角;这不是xib与故事板的问题,必须仅部署约束。