我一直在使用本网站上的方法成功地从 Nib 文件加载视图
[[NSBundle mainBundle] loadNibNamed:@"YourNibName" owner:self options:nil];
问题是,因为我们必须设置文件所有者,所以这个 nib 文件会“附加”到这个视图控制器。这个视图是的子类,UITableViewCell
我想从几个不同的 vc 加载这个 nib 文件。谢谢你的帮助。
我一直在使用本网站上的方法成功地从 Nib 文件加载视图
[[NSBundle mainBundle] loadNibNamed:@"YourNibName" owner:self options:nil];
问题是,因为我们必须设置文件所有者,所以这个 nib 文件会“附加”到这个视图控制器。这个视图是的子类,UITableViewCell
我想从几个不同的 vc 加载这个 nib 文件。谢谢你的帮助。
笔尖只是一个模板,您可以一遍又一遍地加载它。
如果使用 iOS4,您可能需要查看 UINib,它可以提高重复 nib 加载的性能。
我将介绍两个选项:
@property (nonatomic, retain) IBOutlet id mainObject;
名为loadNibNamed:bundle:
) 的方法。然后,做MyView * v = [[NibLoader loadNibNamed:"MyView" bundle:nil] mainObject];
。(一个 GCC 4.0 属性访问错误意味着 [...].mainObject 会调用 [...] 两次;它已在 4.2 中修复。)@protocol MyNibOwner
which has @property (nonatomic, retain) IBOutlet MyView * myView;
,并将文件的所有者类更改为id<MyNibLoader>
或NSObject<MyNibLoader>
。学究式地,笔尖可能应该有一个控制器。我可能会做的是创建一个新的UIViewController
子类来控制你的这个笔尖中的东西,然后每当你想要笔尖中的东西时,创建这些视图控制器之一并询问它的东西,而不是直接加载笔尖.