Xamarin iOS PrepareForSegue未被调用

时间:2016-07-08 12:56:15

标签: .net xamarin visual-studio-2015 xamarin.ios

我在从UITableViewController导航到UIViewController时遇到了一些问题。

我要做的是创建一个应用程序,允许用户在SAP中搜索部件并将其显示在一个简单的表中。用户点击一行后,就会打开一个详细信息页面。

不幸的是导航无法正常工作,我不明白为什么。我使用的是包含UINavigationController的故事板 - > UITableViewController - >的UIViewController。

我通过在Visual Studio 2015 Designer中点击控制键并从TableCell绘制一条线到我的UIViewController,将segue从我的UITableViewController设置到详细页面(UIViewController)。我看到表格单元格有一个肥胖的蓝色边框。

在此之后将segue标识符设置为" PartDetailSegue"。在我的UITableViewController上,我覆盖了PrepareForSegue函数。

当我向PrepareForSegue函数添加断点并启动应用程序时,单击表格单元格时不会调用该函数。我有什么遗漏的吗?

Xamarin Designer Views

我的UITableViewContoller中的代码

public override void PrepareForSegue(UIStoryboardSegue segue, NSObject sender)
        {
            if (segue.Identifier == "PartDetailSegue")
            {
                var navctlr = segue.DestinationViewController as PartDetailViewcontroller;
                if (navctlr != null)
                {
                    var rowPath = TableView.IndexPathForSelectedRow;
                    var item = ((PartsTableViewDataSource)TableView.Source).GetItem(rowPath.Row);
                    navctlr.SetPart(this, item);
                }
            }
        }        

我正在使用Visual Studio 2015 Update 3.安装了Xamarin的最新更新。

1 个答案:

答案 0 :(得分:1)

如果您使用UITableViewSource并通过DequeueReusableCell(" SomeName")在GetCell函数中创建单元格,请确保在故事板中原型表视图单元格设置了相同的标识符。 OtherWiese DequeueReusableCell不会返回原型单元格的模板,知道segue。