首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oomph MacMapKit绘图错误

Oomph MacMapKit绘图错误
EN

Stack Overflow用户
提问于 2012-04-16 22:51:46
回答 2查看 159关注 0票数 0

我已经在我的一个项目中集成了Oomph MacMapKit,我完成了所有的步骤。但是有一个问题。我使用NSToolbar并在视图之间切换。每当我在我的地图页面中,如果我切换到另一个页面,然后切换回地图页面,地图被绘制在MKMapView下,MKMapView是白色的,但我可以通过在白色区域中拖动鼠标在地图中导航。

我也在另一个项目中尝试过,它的行为再次类似于此。

正常外观

切换回后

有人知道我该怎么解决这个问题吗?

这段代码在我的窗口控制器委托中运行,用于切换页面

代码语言:javascript
复制
- (NSView*)viewForTag:(int)tag
{
    switch (tag)
    {
        case 0:
            return [firstViewController view];
            break;
        case 1:
            return [secondViewController view];
            break;
        default:
            return [firstViewController view];
            break;
    }
}

- (IBAction)switchViews:(id)sender
{
    NSView* currentView = [self viewForTag:[sender tag]];
    NSView* previousView = [self viewForTag:currentViewTag];

    currentViewTag = [sender tag];

    [[[[self window] contentView] animator] replaceSubview:previousView with:currentView];
}

地图页面中没有特殊的代码。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-03 15:15:17

这个Map Kit有时有点bit,改变我展示视图的方式就解决了这个问题。

票数 0
EN

Stack Overflow用户

发布于 2012-04-18 23:53:44

我不会让你的代码出错。我假设您已经遍历了代码并检查了所有视图都被正确地添加和删除了。此外,您可能希望检查切换后为地图视图设置的边框。如果框架的NSRect是您的空白,不知何故,MKMapView并不热衷于被添加到视图堆栈中或从视图堆栈中删除。

这不太可能,但你可以尝试以下方法之一:

  • 使用setHidden:暂时使地图视图不可见,而不是删除和添加地图视图。不确定,但您可能会从中获得一些性能,并且隐藏和显示可能比添加和removing...
  • Use addSubView:removeFromSuperview来切换视图的成本更低。这可能需要一些代码来设置正确的视图框架,或者提供一个“默认”框架,以便在添加视图时使用。

归根结底,MKMapView是WebView的包装器,它的行为有时看起来有点奇怪。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10176460

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档