繁体   English   中英

用插座子类化主视图控制器

[英]Subclassing a main view controller with outlets

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

然后,我想对该新类进行子类化以使用其行为,并为每个ViewController链接一个“ contentView” IBOutlet。

这是我的BaseViewController.xib: 在此处输入图片说明

TestViewController.xib:链接其父级的“ contentView”出口 在此处输入图片说明

TestViewController.h:从BaseViewController继承

#import "BaseViewController.h"

@interface TestViewController : BaseViewController

@end

TestViewController.m:应该使用TestViewController.xib的插座

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

    return self;
}

显然,我希望MainViewController的绿色条带有白色视图,TestViewController的标签具有标签,但实际上不起作用,结果如下: 在此处输入图片说明

如果在TestViewController.xib中,我将“视图”出口与视图链接,则实际上是覆盖此屏幕,并且没有MainViewController的绿色条,因此我想我的导入正常了,但是我不明白为什么它不适用于contentView。

任何想法 ?

干杯!

西里尔

您将必须决定哪个控制器应该控制带有内容的视图。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM