iphone - 使用 outlets 子类化主视图 Controller

标签 iphone ios uiviewcontroller xib subclassing

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

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

这是我的 BaseViewController.xib: enter image description here

TestViewController.xib:链接其父级的“contentView”导出 enter image description here

TestViewController.h:继承自BaseViewController

#import "BaseViewController.h"

@interface TestViewController : BaseViewController

@end

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

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

    return self;
}

显然,我希望 MainViewController 中的绿色 strip 有白色 View 和 TestViewController 中的标签,但它实际上不起作用,结果如下: enter image description here

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

有什么想法吗?

干杯!

西里尔

最佳答案

您必须决定哪个 Controller 应该控制带有内容的 View 。

  • 要么您有基本 View Controller 控制它 - 在这种情况下您不需要子类化它。只需将 UIView 的子类添加为 subview ,然后在其中执行所有逻辑。 View 也可以有自己的 nib 文件。
  • 或者您将您的基础 View Controller 子类化 - 但这样您就不能拥有单独的 View Controller nib。您可以在子类(它也是一个 View Controller )中执行所有 View Controller 逻辑(数据源等),但它将使用基础 View Controller 的 Nib 。

关于iphone - 使用 outlets 子类化主视图 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8554942/

相关文章:

java - 将文本数据存储在一个/多个文件中以使其可用于各种平台的最佳方法是什么?

ios - 使用给定路径剪切图像

ios - 如何在不同的 UIViewcontroller 之间切换

iphone - 如何在Cocos2d中隐藏屏幕左下角的FPS数字

iphone - 更改自定义对象上的 NSDate?

iphone - 访问 UIImagePickerController 拍摄的图像的元数据(exif 标签)- iOS/iPhone

objective-c - UINavigationController 上未出现后退按钮

iphone - 如何在iPhone中使用图像路径和音频路径播放带有图像的歌曲

ios - NSPredicate 用于一对一关系

ios - 在没有 segue 的情况下将数据传递给 VC 的最有效和最简洁的方法是什么?