gpt4 book ai didi

iphone - 为什么 initWithNibName 不适用于我的 UIViewController 子类?

转载 作者:行者123 更新时间:2023-12-03 18:24:50 25 4
gpt4 key购买 nike

我已将 UIViewController 子类化为一个新类 PageViewController (我正在编写一个简单的图书应用程序)。我想添加一个从 nib 文件加载的新 View ,并使用以下代码。它有效。

PageViewController *viewController1 = [[UIViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

但是,第一行是错误的,因为我应该在 PageViewController 上调用 alloc。当我更正它时(如下),代码可以编译,但 xib 文件不会加载,并且 View 只是透明的。

    PageViewController *viewController1 = [[PageViewController alloc] initWithNibName:@"Page1" bundle:nil];
[viewController1.view setUserInteractionEnabled:YES];
[self.view addSubview:viewController1.view];

PageViewController initWithNibName 方法已取消注释,只是默认方法,设置 self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]。

我尝试过的:在 Page1 nib 文件中,我尝试更改 PageViewController 和 UIViewController 之间的文件所有者类。是的,我记得之后将其连接回 View socket 。

请帮忙!我被难住了。

最佳答案

您是否重写了 PageViewController 中的 loadView 方法?如果你 NSLog viewController1.view 会怎样?

事实上,在 Interface Builder 中,您必须将文件的所有者设置为 PageViewController,并将其 View 连接到 Interface Builder 中的 View 。

关于iphone - 为什么 initWithNibName 不适用于我的 UIViewController 子类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1068368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com