UITableViewControllerからUIViewControllerにナビゲートする際に問題が発生しています。Xamarin iOS PrepareForSegueが呼び出されない
私がやっていることは、ユーザーがSAP内の部品を検索して単純な表に表示できるアプリケーションを作成することです。ユーザーが1つの行をクリックすると、詳細ページが開きます。
残念ながら、ナビゲーションが機能していないため、わかりません。私は、UINavigationController - > UITableViewController - > UIViewControllerを含むストーリーボードを使用しています。
Visual Studio 2015 Designer内のコントロールキーを押し、TableCellからUIViewControllerに線を引いて、私のUITableViewControllerから詳細ページ(UIViewController)にセグを設定しました。私はテーブルのセルが太った青色の境界を取得することを確認します。
この後、セグ識別子を「PartDetailSegue」に設定します。私のUITableViewControllerでは、PrepareForSegue関数を上書きしました。
PrepareForSegue関数にブレークポイントを追加してアプリケーションを起動すると、テーブルセルをクリックしても関数が呼び出されません。私は行方不明のものはありますか?
コード私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);
}
}
}
に私はXamarinのための2015年の更新3.最新のアップデートがインストールされているのVisual Studioを使用しています。
セグが起こっていますか(UIViewControllerがプッシュされますか?)そうでない場合は、 'RowSelected'をオーバーライドして手動で起動させ、' this.PerformSegue( "PartDetailSegue"、this);を呼び出してセグを起動し、セグが正しく機能するかどうかを確認します。 ( 'this'は' UITableViewController'インスタンスになります)。ストーリーボードで何かが正しく設定されていないと思います。 – dylansturg
あなたのお返事ありがとうございます!私がthis.PerformSegue( "PartDetailSegue"、this)を介して呼び出すと、sequeが起きています。私はすでに結婚しています。だからセークは正しく設定されているようです。私のstwwboard上でUITableViewControllerは、UITableViewControllerを継承し、PrepareForSeque関数をオーバーライドする私自身のクラスにリンクされています。 seque識別子も設定されます。 –
私はストーリーボードでXamarin Studioを使用してこれを試しましたが、すべて期待通りに機能しました。だから、VSは** VSで動作するはずです。あなたは "セレクション・セグ" "ショー"オプションを選択したことは確かですか? Xamarin Studioでセグを作成し、VSにバグがあるかどうかを確認することができます。 – dylansturg