我已经编写了一些iOS代码,但现在我正在编写一个Mac。这个链接:viewDidLoad in NSViewController?说OSX相当于viewDidLoad是loadView。我想在视图出现时立即调用initalizing方法,但是loadView似乎没有执行;也就是说,我的视图控制器中的代码如下:
- (void)loadView {
[super loadView];
NSLog(@"Test");
[self addPanGesture];
}似乎什么都没做。NSLog从不显示,方法addPanGesture从不执行。我是不是遗漏了一些非常愚蠢的东西,还是loadView不再是重写的适当方法?
编辑:我切换到windowDidLoad,删除了艾哈迈德Z的建议中的超级电话,但这也不起作用。除了简单地添加类似于iOS的方法之外,我还必须做其他事情吗?另外,我在顶部发布的链接似乎在“接受”的答案(不是最高评价的答案)中说,windowDidLoad不再在MacOSX10.5中使用
编辑2:似乎也值得一提的是,我使用的是xib文件。一个堆栈溢出链接说,只有在以编程方式设置视图时才调用loadView。
发布于 2013-12-08 05:44:14
弄明白了。通过在我的MainMenu.xib中添加另一个MainMenu.xib并为它创建一个引用,我可以调用
[self.secondWindow display];打开第二个窗口。
https://stackoverflow.com/questions/20320568
复制相似问题