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的主要内容,如果未能解决你的问题,请参考以下文章

找不到存档的 Three20/Three20.h 文件

UIViewController解耦---浅析Three20架构

Three20 和未签名的证书

Three20 保存图像?(关闭)

Three20 和 Facebook Graph API 问题

Three20:更改缩略图的 CGSize?