0

我在所有容器的顶部都有一个空白区域。如果我进行模型转换,则所有导航控制器顶部的空白都清晰可见。

该空间约为20px。

如何删除这个空白..?

有什么建议吗???

4

1 回答 1

0

您在问题中没有真正向我们提供足够的详细信息,但最可能导致问题的原因是您正在使用视图控制器的视图框架而不是边界以编程方式为视图控制器实例化子视图。

如果在您的viewDidLoad方法中您执行以下操作:

- (void)viewDidLoad
{
    [super viewDidLoad];
    MyView* myView = [[MyView alloc] initWithFrame:self.view.frame];
    [self.view addSubview:myView];
}

那么您的视图将初始化为 20px 的偏移量,因为您的 self.view.frame 的原点是 (0, 20),以便不与导航栏重叠。如果您随后将子视图的框架设置为具有相同的原点,则意味着视图的原点将进一步向下平移 20 px(它不是真正的像素而是点,因为无论它是否是视网膜显示器,值都保持不变,但无论如何) .

因此,如果您想添加一个与呈现它的视图控制器的视图大小相同的子视图,那么您应该始终使用以下命令对其进行初始化:

    MyView* myView = [[MyView alloc] initWithFrame:self.view.bounds];

我希望这会有所帮助,您在您的问题中没有给我们太多帮助,将来尝试在代码和情节提要中向我们(很多)提供有关您所做工作的更多详细信息。

于 2013-05-10T08:49:22.673 回答