0

私が取り組んでいるアプリは、データの階層と、そのデータを検索するためのフィルターで構成されています。データはテーブル ビューの階層に表示され、その階層のナビゲーションは正常に機能します。ただし、フィルター ビュー モデル (モーダル ビュー コントローラーとして表示されます) に移動しようとすると、問題が発生します。

初めてモーダル ビューを開くと、すべて正常に動作し、閉じてもすべてのナビゲーションが引き続き動作します。ただし、もう一度開こうとすると、モーダル ビューが表示され、数秒後にアプリがフリーズしてクラッシュします。

モーダル ナビゲーション要求を処理しているカスタム プレゼンター (MvxModalSupportTouchViewPresenter のサブクラス) のコードを次に示します。

public override void Show (IMvxTouchView view)
{
    if (view is IMvxModalTouchView) {
    var newNav = new UINavigationController ();
    newNav.PushViewController (view as UIViewController, false);
    newNav.NavigationBar.TintColor = UIColor.Black;
    PresentModalViewController (newNav, true);
    return;
...

(タブからモーダル ViewController を使用して MvvmCross から取得)

ビュー自体でモーダルを閉じることで、モーダルを閉じます。アプリがクラッシュする理由を知っている人はいますか?

4

1 に答える 1

1

メールでのフォローアップは...

「私の前の質問に関して、私はエラーがどこにあるかを見つけました。私のモーダル ビュー モデルに関連付けられたビューは、Dispose() 呼び出しの無限ループに入りました。モーダルが複数回表示された場合にのみ発生します。Dispose( をコメントアウトします。 )メソッドを使用すると、複数回開くことができました。」

これがmvxフレームワークまたはアプリコードの障害であるかどうかは現在わかりませんが、他の人に役立つ場合に備えてここに投稿すると思いました

于 2012-09-06T11:08:37.053 に答える