无法在自定义UITableViewcell Xamarin.IOS上执行行选定导航

时间:2018-04-26 10:31:02

标签: swift uitableview xamarin xamarin.ios

在所选行上使用自定义UITableViewCell样式时未执行导航单击:

Customcell = tableView.DequeueReusableCell(cellIdentifier) as Customcell 

if (cell == null)
    cell = new Customcell (cellIdentifier);

cell.UpdateCell(hotDogs[indexPath.Row].Name,
    hotDogs[indexPath.Row].Price.ToString(),
    UIImage.FromFile("Images/image1));

return cell;

但是我可以在使用UITableViewCell默认样式时执行导航:

UITableViewCell cell = tableView.DequeueReusableCell(cellIdentifier) as UITableViewCell;

if (cell == null)
{
    cell = new UITableViewCell(UITableViewCellStyle.Default, cellIdentifier);
}
使用自定义UITableViewCell时,

行选择事件甚至不会触发PrepareForSegueMethod:

public override void PrepareForSegue (UIStoryboardSegue segue, NSObject sender)
{
    base.PrepareForSegue (segue, sender);
}

1 个答案:

答案 0 :(得分:0)

  

使用自定义UITableViewCell时,行选择事件甚至不会触发PrepareForSegueMethod

网上有很多类似的情况。

请参阅issue1issue2issue3

最佳解决方法:删除“selection segue”并以编程方式在didSelectRowAtIndexPath中创建推送segue。

override void RowSelected(UITableView tableView, NSIndexPath indexPath)
{
    this.PerformSegue("segueId", this);
}

然后这将触发PrepareForSegue方法。