【发布时间】:2011-06-14 15:11:01
【问题描述】:
我想在 uiviewcontroller 上添加一个“自定义”uiview,这个自定义视图是我用 xib 创建的,它与视图控制器是分开的,
有谁知道如何将带有 xib 的 uiview 添加到 uiviewcontroller 中?
在此先感谢
【问题讨论】:
标签: objective-c uiview uiviewcontroller add
我想在 uiviewcontroller 上添加一个“自定义”uiview,这个自定义视图是我用 xib 创建的,它与视图控制器是分开的,
有谁知道如何将带有 xib 的 uiview 添加到 uiviewcontroller 中?
在此先感谢
【问题讨论】:
标签: objective-c uiview uiviewcontroller add
您的意思是附加视图,而不是主控制器视图?在这种情况下,您可以为视图声明一个属性并手动加载 NIB:
@interface Controller {}
@property(retain) IBOutlet UIView *extraView;
@end
…
- (void) viewDidLoad // or anywhere else
{
[[NSBundle mainBundle] loadNibNamed:@"extras" owner:self options:nil];
NSAssert(extraView != nil, @"The extra view failed to load.");
[[self view] addSubview:extraView];
}
这假设您在 Interface Builder 中将 Controller 设置为文件所有者,并将视图链接到 extraView 出口。另请注意,可能有更优雅的解决方案,例如将额外视图插入控制器的主 NIB;视情况而定。
【讨论】:
看起来您想要最常见的场景 - 只需将初始化的自定义 UIView 子类加载到控制器中。
Controller(或者您的控制器类的名称)。Controller.xib。initWithNibName:@"Controller" bundle:nil 初始化控制器。初始化代码应该为您加载界面并将视图属性设置为从界面文件解压缩的视图。通过一些Interface Builder教程,IB是一个非常好的工具,熟悉它很好。
【讨论】: