12

我正在将现有的 iOS 6 应用程序移植到新的 iOS 7。但是每当 MKMapView 实例出现在屏幕上时,我的导航栏就会失去其色调。

重现步骤:

  1. 打开 Xcode;

  2. 创建一个新的主从应用程序;

  3. 添加下一行作为 AppDelegate.m didFinishLaunchingWithOptions 方法的第一行:

    [[UINavigationBar appearance] setBarTintColor:[UIColor redColor]]

  4. 将下一行添加到 MasterViewController.m 文件:

    #import <MapKit/MapKit.h>

  5. 最后,将下一行添加到 MasterViewController.m cellForRowAtIndexPath 方法:

    MKMapView *view = [[MKMapView alloc] initWithFrame:CGRectMake(0, 0, 100, 40)]; [cell.contentView addSubview:view];

  6. 构建并运行

这些是结果:

好的 导航栏变得透明 发布的用户界面

难道我做错了什么?我能做些什么来解决这个问题?

我应该改用 Google Maps API 吗?

4

2 回答 2

0

似乎现在已修复(最新的 ios 版本)。我在模拟器和设备上都没有收到错误。

于 2013-11-03T15:01:45.933 回答
0

在使用之前定义 mapview 的大小(宽度、高度),如果不起作用,则在 mapviewcontroller 中将其与启用的导航控制器一起使用,这可能会对您有所帮助

于 2014-08-12T12:18:31.983 回答