2012-04-16 2 views
0

내 프로젝트 중 하나에 Oomph MacMapKit을 통합 했으므로 모든 단계를 수행했습니다. 그러나 문제가 있습니다. NSToolbar를 사용하고 뷰를 전환합니다. 지도 페이지에있을 때마다 다른 페이지로 전환 한 다음지도 페이지로 다시 전환하면지도가 MKMapView 아래에 그려지고 MKMapView는 흰색이지만 흰색 영역에서 마우스를 드래그하여지도에서 탐색 할 수 있습니다.Oomph MacMapKit Drawing Wrong

다른 프로젝트에서도이 도구를 사용해 보았습니다. 일반

다시

http://i.stack.imgur.com/BOJK6.png

사람이 내가이 문제를 해결할 수있는 방법을 알고 있나요 전환 후

http://i.stack.imgur.com/kf4AL.png

봐?

이 코드는 전환 페이지

- (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]; 
} 

지도 페이지에 특별한 코드가 없습니다

내 창 컨트롤러 위임에서 실행됩니다.

미리 감사드립니다.

+0

나는보기의 전환을 포함하여 내 앱에서 Oomph MapKit을 통합했으며 완벽하게 작동하는 것으로 나타났습니다. 이 질문에 대한 합리적인 대답을 얻기 전에 코드를 게시해야합니다. – Roger

+0

감사합니다. Roger,하지만지도 페이지에는 특별한 코드가 없습니다. 그러나보기를 전환하기 위해 주 창에서 코드로 질문을 업데이트했습니다. –

답변

0

이지도 키트는 때로는 다소 버그가있어서보기를 표현하는 방식을 변경하면 문제가 해결됩니다.

0

코드를 잘못 처리 할 수 ​​없습니다. 나는 코드를 밟아서 모든 뷰가 제대로 추가되고 제거되었는지 확인했다. 또한 전환 후지도보기에 어떤 프레임이 설정되어 있는지 확인할 수도 있습니다. 프레임의 NSRect가 공백이있는 곳이면 MKMapView는 뷰 스택에 추가되거나 뷰 스택에서 제거되는 것을 원하지 않습니다.

그것은 긴 샷,하지만 당신은 다음 중 하나를 시도해 볼 수도 있습니다 :

  • 사용 setHidden: 일시적으로 제거하고 추가하는 대신에,지도보기 보이지 않게 할 수 있습니다. 확실하지는 않지만이 기능을 사용하면 약간의 숨겨진 효과를 얻을 수 있습니다. 추가 및 제거보다 비용이 적게 듭니다. ...

  • 보기를 전환하려면 addSubView:removeFromSuperview을 사용하십시오. 뷰의 프레이밍을 올바르게 설정하거나 뷰를 추가 할 때 사용할 수있는 "기본"프레임을 편리하게 사용할 수있는 코드가 필요할 수 있습니다.

결론 맨 밑줄 MKMapView는 WebView를 래퍼하여 가끔 이상하게 보입니다.