有没有办法加载原型单元格,以及故事板中定义的任何IBOutlet连接?
更新
我想对单元格(单元的UICollectionViewCell)进行单元测试,因此希望将它加载到UIViewController上下文之外。
实际上,就像您可以从笔尖加载自定义视图一样,指定其文件的所有者并设置其IBOutlet。
答案 0 :(得分:12)
我还没有尝试使用单元测试,但您可以轻松地将自定义UITableViewCell
放入单独的笔尖。
要在视图控制器中使用它,您需要使用tableViews注册单元格。
UINib *nib = [UINib nibWithNibName:@"ABCNameOfYourNibCell" bundle:nil];
[self.tableView registerNib:nib forCellReuseIdentifier:@"myCustomCell"];
然后在cellForRowAtIndexPath:
static NSString *CellIdentifier = @"myCustomCell";
ABCNameOfYourNibCell *cell =
[tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
出于测试目的,您应该可以使用:
ABCNameOfYourNibCell *testCell =
[[ABCNameOfYourNibCell alloc] initWithStyle: UITableViewCellStyleDefault reuseIdentifier:nil];
如果您需要测试重用行为,则应在此处设置reuseIdentifier并在单元格上调用prepareForReuse
。
答案 1 :(得分:11)
通常你会创建UITableViewController
或UITableView
。比你还应该创建一个UITableViewCell
类。创建UITableViewCell
类后,转到`UIStoryboard,选择单元格:
然后在UITableViewCell
:
Identity Inspector
类
现在将元素添加到UITableViewCell
并将它们与您的类
现在在CellIdentifier
:
Attributes Inspector
没有你的UITableViewController
或UIViewController
UITableViewDelegate
方法,你可以像这样调用你的单元格(不要忘记#import
{{1}您UITableViewCell
顶部的类:
ViewController