我正在尝试将以下iOS Coreplot Tutorial修改为OSX,但是在查找一些等效功能时遇到了麻烦。为了创建散点图,本教程创建了一个从UIViewController派生的类,但是由于我在Mac上,因此该类的等效类是从NSViewController派生的。

-(void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated]; [1]
    [self initPlot];
}


在上面的函数中,该类引用一个[super viewDidAppear]。 NSViewController似乎没有此功能,因此应该改用哪个功能?

self.hostView = [(CPTGraphHostingView *) [CPTGraphHostingView alloc]
initWithFrame:self.view.bounds];
self.hostView.allowPinchScaling = YES;
[self.view addSubview:self.hostView];


在以上代码段中,该类引用了self.view。 NSViewController没有此功能,应该使用什么等效功能代替?

最佳答案

没有直接等同于-viewDidAppear:的内容。您可能必须为视图控制器的根视图子类NSView,并重写-viewWillMoveToSuperview:-viewWillMoveToWindow:以获得类似的行为。有关更多信息,请参见NSView文档。

NSViewController有一个-view方法([self view]代替self.view,但是如果您确实愿意,可以使用后一种语法。)您是否在指其他内容?

关于objective-c - NSViewController是否等效于以下UIViewController函数/变量?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12022539/

10-09 16:04