我在提交到应用商店时收到以下消息:
此外,应用程序显示 Google地图提供的图片没有 相应的谷歌品牌,我们 无法将此版本发布到App 店
我有一个带有NavigationController的TabBar。导航控制器在
中加载地图- (void)viewDidLoad {
[super viewDidLoad];
mapView = [[MKMapView alloc] initWithFrame:self.view.bounds];
// ...
}
这样可行,但mapView会在标签栏下方结束,因此不会显示Google徽标。要正确获得框架,我必须手动创建它
- (void)viewDidLoad {
[super viewDidLoad];
mapView = [[MKMapView alloc] initWithFrame:CGRectMake(0,0,320,370)];
// ...
}
这有效,但感觉不对。什么是正确的方法?
主界面(TabBar +导航控制器)在Interface Builder中创建。
答案 0 :(得分:3)
这解决了问题
mapView.autoresizingMask = (UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight);
答案 1 :(得分:0)
很好。 :p同样你可以这样做:
- (void)viewDidLoad {
[super viewDidLoad];
CGRect bounds = self.view.bounds;
bounds.size.height -= 90; // i think the tab bar controller is 90
mapView = [[MKMapView alloc] initWithFrame:bounds];
// ...
}
答案 2 :(得分:0)
另一种方式是
CGRect viewBounds = self.view.bounds;
viewBounds.size.height -= self.tabBarController.tabBar.frame.size.height + self.navigationController.navigationBar.frame.size.height;
这样你就不会提供绝对数值。