在UIViewController中添加视图时出现空白

时间:2013-03-20 10:40:36

标签: c mkmapview

我遇到了一个问题,当我向UIViewController添加新视图时,顶部有一个小差距。 (似乎是状态栏的高度)

我使用pushViewController来显示此视图,如下所示:

MapViewController *map = [[[MapViewController alloc] init] autorelease];
[self.navigationController pushViewController:map animated:YES];

在我的MapViewController中,我只使用与视图控制器相同的框架创建MKMapView

- (void)viewDidLoad
{
    [super viewDidLoad];

    self.view.backgroundColor = [UIColor redColor];

    _mapView = [[MKMapView alloc] initWithFrame:self.view.frame];
    [self.view addSubview:_mapView];
}

但事实证明是这样的:

enter image description here

我不确定我是否仍然遗漏了一些东西......

1 个答案:

答案 0 :(得分:2)

请改为尝试:

_mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];

UIView的框架在superview的坐标系中。

另一方面,UIView的界限在视图本身的坐标系中。

在这种情况下,self.view的框架将考虑状态栏(就像它在屏幕上的位置一样) - 因此状态栏的大小偏移位于顶部。