所以我一直在故事板中构建一个表格视图,并使用我的自定义 UITableViewCell 创建了一个外部 Nib 文件。一切都很好。但是,表格视图单元格上有一个按钮,我想通过 segue 将其连接到情节提要中的视图。现在我对这一切还是很陌生,那么如何将自定义单元格上的按钮连接到情节提要中的视图控制器?我完全错了吗?如果是这样,我将如何快速轻松地重组我的项目?如果您能提供一点解释,我将不胜感激,以便我从中学习。
感谢您的帮助,
问候,
迈克
所以我一直在故事板中构建一个表格视图,并使用我的自定义 UITableViewCell 创建了一个外部 Nib 文件。一切都很好。但是,表格视图单元格上有一个按钮,我想通过 segue 将其连接到情节提要中的视图。现在我对这一切还是很陌生,那么如何将自定义单元格上的按钮连接到情节提要中的视图控制器?我完全错了吗?如果是这样,我将如何快速轻松地重组我的项目?如果您能提供一点解释,我将不胜感激,以便我从中学习。
感谢您的帮助,
问候,
迈克
可以使用情节提要在情节提要的 UITableViewCell 内设置按钮。我以前做过类似的事情。所以,这是一个解决方案;
现在,在 UITableViewData 数据源 cellForRowAtIndexPath;
-(UITableViewCell*)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
if(!cell){
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
}
UIButton *button = ((UIButton*)[cell.contentView.subviews objectAtIndex:0])
button.tag = indexPath.row;
cell.textLabel.text = @"Hello Text"
;
return cell;
}
现在,当您单击按钮时,您的 prepareForSegue: 会被调用。
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"identifier"]){
UIButton *button = (UIButton*)sender;
NewViewController *viewController = [segue destinationViewController];
if(button.tag == 1)
viewController.someobject = ...
else
viewController.somobject = ...
}
}
这应该有效。