是否可以覆盖默认故事板?

时间:2014-04-19 06:22:39

标签: xcode-storyboard

我对故事板有疑问,即我长时间使用故事板,直到现在都很好。我想从storyboard类覆盖 - (id)instantiateViewControllerWithIdentifier:(NSString *)标识符方法。我知道我必须添加UIStoryboard类的子类,但我不知道应该如何表明它应该使用这个子类? 我知道我可以以编程方式执行此操作(分配此子类的对象实例并获取视图控制器)但我想知道 - 是否可以告诉Xcode我的e.q. MainStoryboard.storyboard文件类应该被视为我的子类。

1 个答案:

答案 0 :(得分:1)

是的,你可以。 最好的方法是子类UIStoryboard,并在AppDelegate中以编程方式创建故事板的实例。

如果你不想在AppDelegate中创建故事板,你可以使用方法调配 - 用你自己的方法替换UIStoryboard的方法实现(参见objc / runtime.h标题和apple docs)。

但我认为明确的故事板创建比神奇的运行时更好 - 所有阅读代码的人都可以理解。