NSViewControllerを使用して、コアプロットチャートをレンダリングするビューでペン先をロードしています。次のコードを使用して「ターゲットビュー」を置き換えます。
NSViewController* aViewController = [[NSViewController alloc] initWithNibName:@"nib name" bundle:nil];
if (aViewController != nil)
{
myCurrentViewController = aViewController;
}
// embed the current view to our host view
[myTargetView addSubview: [myCurrentViewController view]];
[[myCurrentViewController view] setFrame: [myTargetView bounds]];
これにより、基本的にチャート内のすべてがわずかにぼやけて見えます。setFrameをコメントアウトし、setFrameの整数値も試しましたが、違いはありませんでした。ターゲットビューにもレイヤーがありません。
ビューコントローラを削除し、myTargetViewを実際のチャートビュークラス(PlotView)に変更すると、あいまいではなくなります。これは10.8です。NSViewControllerルートを使用すると、グラフビューが台無しになる理由はありますか?
更新#1:Plot_Gallery_MacサンプルプロジェクトからPlotGalleryController、PlotView、PlotItem、およびVerticalBarChartを使用して、NSViewControllerを介してグラフを生成しています。サンプルのPlotItemクラス(特にrenderInViewメソッド)のセットアップは、NSViewControllerでの使用と互換性がないと推測しています。