我一直在到处寻找,到目前为止还没有找到任何有用的东西。
基本上,我想要有一个名为rootView.xib的.xib文件,在它里面,我想有一个只占据半个屏幕的UIView (让我们称之为containerView) (所以会有一个常规视图和一个新视图)。然后,我需要一个名为firstView.xib的不同.xib文件,并将其加载到containerView中。所以我可以在firstView.xib上有一堆东西,在rootView.xib上有一堆不同的东西,在rootView.xib中把我的firstView.xib加载到containerView中,但是因为它只占半个屏幕,所以你仍然可以在rootView.xib上看到这些东西
发布于 2011-10-19 10:14:33
您可以尝试:
UIView *firstViewUIView = [[[NSBundle mainBundle] loadNibNamed:@"firstView" owner:self options:nil] firstObject];
[self.view.containerView addSubview:firstViewUIView];
发布于 2016-10-20 21:22:05
Swift实施
从xib加载视图的通用方法:
示例:
let myView = Bundle.loadView(fromNib: "MyView", withType: MyView.self)
实施:
extension Bundle {
static func loadView<T>(fromNib name: String, withType type: T.Type) -> T {
if let view = Bundle.main.loadNibNamed(name, owner: nil, options: nil)?.first as? T {
return view
}
fatalError("Could not load view with type " + String(describing: type))
}
}
https://stackoverflow.com/questions/7814928
复制相似问题