如何再次调用awakeFromnib&再次,我使用setNeedsDisplay,它无法正常工作

时间:2013-01-29 10:00:51

标签: cocoa nsview nsviewcontroller

加载视图第一次调用awakeFromNib时,我想通过方法再次调用awakeFromNib。

我试过[view setNeedsDisplay:YES]; 但它没有再次调用awakeFromNib

任何人都可以建议为什么不调用awakeFromnib 在此先感谢...

2 个答案:

答案 0 :(得分:0)

setNeedsDisplay:YES用于重绘不调用awakeFromNib的视图。

您可以将[self awakeFromNib];的所有代码移动到其他方法,并在需要重新启动时从awakeFromNib中调用它们。

答案 1 :(得分:0)

问题比修复awakeFromNib更大。真正的问题是NSViewController中没有方法告诉控制器何时加载视图。我通常做的是扩展NSViewController并添加controllerHasFocus方法。处理交换视图的类将发送controllerHasFocus。然后它会像iOS中的viewDidLoad一样。如果你在SO上搜索它们,有很多讨论可能比我更好地解释了这一点。