在表格视图中,我正在插入具有重用标识符的单元格。所以,我必须为每个单元格创建一个 nib (xib) 文件。我想将所有单元格视图放在一个 xib 文件中并单独获取对它们的引用。这个怎么做?
问问题
221 次
3 回答
1
您可以将 xib 作为视图数组访问,就像这样:
-(UITableViewCell *) viewCellForSection:(NSInteger) section
{
UITableViewCell *view = nil;
NSArray* views= [[NSBundle mainBundle] loadNibNamed:@"myXib" owner:self options:nil];
switch ( section) {
case 0:
view = (UITableViewCell*) [views objectAtIndex:1];
break;
case 1:
view = (UITableViewCell*) [views objectAtIndex:0];
break;
default:
view = (UITableViewCell*) [views objectAtIndex:2];
}
return view;
}
于 2012-08-31T11:08:37.487 回答
0
我知道这是一个旧线程,但是当我尝试在 UITableViewCells 的 nib 中拥有多个视图时,我实际上在日志中找到了响应。这是日志:
*** Terminating app due to uncaught exception 'NSInternalInconsistencyException',
reason: 'invalid nib registered for identifier (cellIdentifier) - nib must
contain exactly one top level object which must be a UITableViewCell instance'
于 2013-11-04T17:00:45.033 回答
0
您必须在方法中实现代码(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
。当您选择表格中的单元格时,将调用此方法。这就是为什么你必须实现你想要的。
希望下面的代码对你有所帮助。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
// yourObject is object of yourViewController and you can declare it .h file.
if (!yourObject) {
yourObject = [[yourViewController alloc] initWithNibName:@"yourViewController" bundle:nil];
}
UIBarButtonItem *backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStylePlain target:nil action:nil];
self.navigationItem.backBarButtonItem = backBarButtonItem;
[backBarButtonItem release];
[self.navigationController pushViewController:yourObject animated:YES];
}
于 2012-08-31T10:58:16.890 回答