テーブル ビューで、再利用識別子を含むセルを挿入しています。したがって、セルごとに 1 つの nib (xib) ファイルを作成する必要があります。すべてのセル ビューを 1 つの 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
メソッドにコードを実装する必要があります(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 に答える
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 に答える