Three20 TTNavigator TTViewController 自动加载XIB
Posted
技术标签:
【中文标题】Three20 TTNavigator TTViewController 自动加载XIB【英文标题】:Three20 TTNavigator TTViewController automatic load XIB 【发布时间】:2010-12-13 00:44:05 【问题描述】:我想与您分享有关 Three20 框架的知识。
如果你使用 TTNavigator 并且你有自定义 VC 是 TTViewController 的子类,这很烦人。它不会自动加载 NIB。
TTNavigator* navigator = [TTNavigator navigator];
TTURLMap* map = navigator.URLMap;
[map from: @"app://myvc" toViewController: [MyVC class]];
有一个变通方法和非常优雅的解决方案。
只需创建另一个 TTViewController 子类并覆盖该类即可:
- (void) loadView
[super loadView];
// load automatically the NIB
[[NSBundle mainBundle] loadNibNamed: NSStringFromClass([self class]) owner: self options: nil];
第一次加载VC时,VC会自动加载NIB。
【问题讨论】:
【参考方案1】:示例目录中的 TTNibDemo 项目有一个 VC,它是 TTViewController 的子类。这个 VC 有一个 nib,它使用 AppDelegate 中的一个函数加载 nib。如果这对您不起作用,请检查一下。
【讨论】:
是的,我看到了,很丑。您需要每次都提供 NIB 名称并将自定义函数放在 URL 中。以上是关于Three20 TTNavigator TTViewController 自动加载XIB的主要内容,如果未能解决你的问题,请参考以下文章
UIViewController解耦---浅析Three20架构