gpt4 book ai didi

ios - 如何确定自定义 UITableViewCell 中的按钮单击?

转载 作者:行者123 更新时间:2023-11-29 03:29:29 25 4
gpt4 key购买 nike

我有一个带有自定义单元格和节标题的 TableView。标题显示国家/地区,自定义单元格显示城市。

看起来像这样:

USA

  • New York

  • Los Angeles

Germany

  • Berlin

  • Frakfurt

每个单元格都有一个按钮。按下后,它将导航并将城市名称推送到详细 View 。

问题是,我不知道按下按钮后如何确定城市名称。

我有一个解决方案,但它不再起作用:

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
NSManagedObject *managedObject = [self.fetchedResultsController objectAtIndexPath:indexPath];
StandortCell *cell = (StandortCell *)[tableView dequeueReusableCellWithIdentifier:@"ortCell"];
[cell.detailButton setTag:indexPath.row];
cell.ortLabel.text = [managedObject valueForKey:@"stadtname"];
}


- (IBAction)detailButton:(id)sender {

UIView *contentView = [sender superview];
UITableViewCell *cell = (UITableViewCell *)[contentView superview];
NSIndexPath *cellIndexPath = [self.tableView indexPathForCell:cell];

NSInteger section = cellIndexPath.section;

UIButton * myButton = sender;
int row=myButton.tag;

NSIndexPath * indexPath = [NSIndexPath indexPathForRow:row inSection:section];

StrasseViewController *detail = [self.storyboard instantiateViewControllerWithIdentifier:@"strasse"];
self.selectedStandort = [self.fetchedResultsController objectAtIndexPath:indexPath];
detail.currentStandort = self.selectedStandort;
[self.navigationController pushViewController:detail animated:YES];

}

当我使用旧代码时,它只会在第一部分中显示正确的街道行。它没有检测到其他部分(国家/地区);

当我选择第三部分中的第一个城市时。它将显示第一部分中的第一个城市。

希望你能帮助我。

最佳答案

希望它能解决您的问题。

在你的 View Controller 中创建一个按钮按下的方法

  • (IBAction)detailButton:(UIButton *)发件人{

    CustomUITableViewCellName *cell = (CustomUITableViewCellName *)[[sender superview]superview];NSIndexPath *cellIndexPath = [YOUR_TABLE_NAME indexPathForCell:cell];

对于 ios 7 添加另一个 super View 。

现在通过这种方式您将获得您的 IndexPath 并通过使用获得当前行indexPath.row 或 indexPath.section.

您可以使用 sender.title 属性获取标题。

您可以在数组中使用此 indexPath 来获取所需的详细信息。

关于ios - 如何确定自定义 UITableViewCell 中的按钮单击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19999342/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com