カスタム プレゼンターを定義して、UI を少しカスタマイズしたり、iPad に分割ビューを実装したりしたいと考えています。このクラスを定義しました:
class ProjectPresenter : MvxTouchViewPresenter
{
public ProjectPresenter(UIApplicationDelegate applicationDelegate, UIWindow window) : base(applicationDelegate, window)
{
}
public override void Show(MvxViewModelRequest request)
{
IMvxTouchView viewController = this.CreateViewControllerFor(request);
this.Show(viewController);
}
}
そして、次のように MvxTouchSetup クラスに登録しました。
protected override IMvxTouchViewPresenter CreatePresenter()
{
MvxTrace.Trace("Creating the presenter!");
return new ProjectPresenter(this.ApplicationDelegate, this.Window);
}
ただし、Show() メソッドのブレークポイントはヒットしません。Show()、ChangePresentation() などのすべてのオーバーロードにブレークポイントを追加しようとしましたが、ヒットすることはありません。Xamarin.iOS は、ブレークポイントに関してはかなり信頼性が低いことはわかっていますが、トレース メソッドを追加しても何のメリットもありません。CreatePresenter() メソッドを例外をスローするメソッドに置き換えても、アプリはクラッシュしませんでした。
アプリケーションへの他の変更は、デプロイ時に表示されるため、これは何らかのキャッシュの問題ではありませんが、PC と Mac の両方のソースもクリーンアップしました。さらに、セットアップ クラスのコンストラクターのブレークポイントがヒットしているため、これはおそらく Xamarin 関連の問題ではありません。
古いドキュメントに依存しているか、非常にばかげたことをしていると思います (後者だと思います)。