gpt4 book ai didi

iphone - 从 NIB 加载 UIView 作为同样从 NIB 加载的另一个 UIView 的 subview

转载 作者:行者123 更新时间:2023-12-03 19:35:05 26 4
gpt4 key购买 nike

这个想法基本上是:
myViewController NIB 内部,我有一个 UIView 作为 subview ,并连接到 MyViewController 类上的 IBOutlet 。我也想从 NIB 加载 UIView subview 。 subview 也有一个与之关联的类。但 subview 没有显示。这就是我所做的

在 MyViewController.h

@interface MyViewController : UIViewController {
IBOutlet SubView *subView; // this outlet is connected to an empty UIView on IB
}
@end

在 MyViewController.m

-(id)init {
if ((self = [super init])) {
// load the main view
[[NSBundle mainBundle] loadNibNamed:@"myViewController" owner:self options:nil];
// load the sub view from another NIB
self.subView = [[[NSBundle mainBundle] loadNibNamed:@"subView" owner:self options:nil] objectAtIndex:0];
}
}

SubView.h 定义为:

@interface SubView : UIView {
}
@end

我做错了什么?

最佳答案

您需要做的是将文件所有者设置为 UIViewController,将您的 View 连接到文件所有者的 view 属性,保存您的 Nib 。在您的代码中,像这样加载您的 Nib :

UIViewController* c = [[UIViewController alloc] initWithNibName:@"Foo" bundle:nil];
SubView* subView = [c view];

应该去比赛了。

最后一点是,subView 的类型应该与界面生成器中定义的类名相同。如果它是一个 SubView,那么可以安全地在代码中将其声明为 SubView*

关于iphone - 从 NIB 加载 UIView 作为同样从 NIB 加载的另一个 UIView 的 subview ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5434682/

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