我创建了一个 UIView,我想将谷歌地图放入其中。但是,当我将 GMSMapview 添加到我的 UIView 时,GMSMapview 的底部不会扩展到适合 UIView。我仍然可以看到 UIVIew 的灰色部分。
这是为什么?
- (void)viewDidLoad
{
// Create a GMSCameraPosition that tells the map to display the
// coordinate -33.86,151.20 at zoom level 6.
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
longitude:151.2086
zoom:6];
GMSMapView *mapView = [GMSMapView mapWithFrame:self.googleMapView.bounds camera:camera];
[self.googleMapView addSubview:mapView];
}
最佳答案
我怀疑您的界面不一定适合 iPhone 6,所以当您设置 mapView
时框架在 viewDidLoad
,虽然它最初适合您的 googleMapView
,自动布局发生后,googleMapView
拉伸(stretch)以适应屏幕和 mapView
保持相同的大小,这太小了。
要解决此问题,我建议将您的代码移至 viewDidLayoutSubviews:
所以你的mapView
框架设置在 googleMapView
之后已拉伸(stretch)以填满屏幕,例如:
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:-33.868
longitude:151.2086
zoom:6];
GMSMapView *mapView = [GMSMapView mapWithFrame:self.googleMapView.bounds camera:camera];
[self.googleMapView addSubview:mapView];
}
关于ios - 为什么 Google map 不能拉伸(stretch)以适应我的 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27338809/