【问题标题】:Subclassing a main view controller with outlets使用插座子类化主视图控制器
【发布时间】:2011-12-18 21:26:34
【问题描述】:

我想创建一个主视图控制器来处理自定义导航栏及其行为。

然后,我想继承这个新类以使用它的行为并为我的每个 ViewController 链接一个“contentView”IBOutlet。

这是我的 BaseViewController.xib:

TestViewController.xib:为其父级链接“contentView”出口

TestViewController.h:继承自 BaseViewController

#import "BaseViewController.h"

@interface TestViewController : BaseViewController

@end

TestViewController.m:应该使用 TestViewController.xib 中的 outlet

- (id)init
{
    self = [super init];
    if (self) {
        [[NSBundle mainBundle] loadNibNamed:@"TestViewController"
                                      owner:self
                                    options:nil];
    }

    return self;
}

显然,我希望 MainViewController 中的绿色条带有白色视图和 TestViewController 中的标签,但它实际上不起作用,结果如下:

如果在 TestViewController.xib 中,我将“视图”出口与视图链接,它实际上覆盖了这个屏幕,我没有来自 MainViewController 的绿色条,所以我猜我的导入工作正常,但我不能不明白为什么它不能与 contentView 一起工作。

有什么想法吗?

干杯!

西里尔

【问题讨论】:

    标签: iphone ios uiviewcontroller xib subclassing


    【解决方案1】:

    您必须决定哪个控制器应该控制包含内容的视图。

    • 或者你有基础视图控制器控制它 - 在这种情况下你不需要子类化它。只需添加UIView 的子类作为子视图并在那里执行所有逻辑。视图也可以有自己的 nib 文件。
    • 或者你子类化你的基本视图控制器 - 但是你不能有一个单独的视图控制器笔尖。您可以在子类(也是视图控制器)中执行所有视图控制器逻辑(数据源等),但它将使用基本视图控制器的 nib。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      • 2012-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多