1

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

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

任何人都可以建议为什么不调用 awakeFromnib 提前谢谢...

4

2 回答 2

0

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

于 2013-01-29T20:00:50.483 回答
0

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

您可以将所有代码[self awakeFromNib];移至其他方法,并在您想重新启动时从 awakeFromNib 调用这些代码。

于 2013-01-29T10:03:02.890 回答