Google徽标隐藏在底部任务栏后面

时间:2014-05-28 07:26:11

标签: ios google-maps sdk google-maps-sdk-ios

在我的应用程序中,我使用的是Google Maps SDK 我的应用程序中有一个全屏地图 问题是Google徽标从导航选项卡后面的屏幕底部被切除。 我不知道要改变什么来调整地图大小以在屏幕上显示徽标。 我会附上问题的截图,但我没有足够的声誉。

由于我对Obj-C和Xcode编程相当新,我可能忘记发布地图实现必不可少的部分代码。

- (void)viewDidLoad 
{
    [super viewDidLoad];
    _firstLocationUpdate = NO;
    _errorView.layer.cornerRadius = 5;
    _errorView.clipsToBounds = YES;

    GMSCameraPosition *camera = [GMSCameraPosition cameraWithTarget:_mapView.myLocation.coordinate zoom:14];

    _mapView = [GMSMapView mapWithFrame:self.view.frame camera:camera];
    _mapView.delegate = self;

    [self.view addSubview:_mapView];
    [self.view sendSubviewToBack:_mapView];      
}

我设法强迫它一点点,但这是非常难看的做法。

    _mapView = [GMSMapView
               mapWithFrame: CGRectMake(
                                        0, -50,
                                        self.view.frame.size.width, self.view.frame.size.height)
               camera: camera];


  [self.view addSubview:_mapView];
  [self.view sendSubviewToBack:_mapView];

2 个答案:

答案 0 :(得分:1)

另一种选择是填充控件,同时保持视图大小相同:

// top, left, bottom, right
_mapView.padding = UIEdgeInsetsMake(0.0, 0.0, 50.0, 0.0);

使用SDK 1.8进行测试,它会移动Google徽标和各种控件。

Google SDK documentation for the padding property

  

控制视图的“可见”区域。   通过应用填充,可以创建视图边缘周围的区域,该区域将包含地图数据,但不包含UI控件。

     

如果填充不平衡,视图的视觉中心将根据需要移动。填充也会影响投影属性,因此可见区域将不包括填充区域。 GMSCameraUpdate fitToBounds将确保将此填充和所请求的任何填充都考虑在内。

     

此属性可以在基于UIView的动画块中设置动画。

答案 1 :(得分:0)

你非常接近,你只需要设置地图框的大小,使其不包括标签视图后面的空间。所以像这样:

_mapView = [GMSMapView 
    mapWithFrame: CGRectMake(
        0, 
        0,
        self.view.frame.size.width, 
        self.view.frame.size.height - {the height of the tab view})
    camera: camera];