私は xamarin フォーム プロジェクトを使用していますが、xamarin iOS プロジェクトにバグがあります。現在、マスター/詳細ページの機能を実装し、アクション バーにボタン項目を追加しました。問題は、 MainPage からアプリケーションを実行しているときに、ハンバーガー メニューから別のページに移動してから、再度 MainPage に戻ることです。すべて問題ないようです。しかし、MainPage カルーセルを別のオブジェクトにスクロールして ActionBar 項目をクリックすると、次のようなエラーが発生します。
System.ObjectDisposedException: 破棄されたオブジェクトにアクセスできません。
オブジェクト名: 'CustomNavigationRenderer'.
これは私の iOS CustomNavigationRenderer クラスです:
[assembly: ExportRenderer(typeof(NavigationPage), typeof(CustomNavigationRenderer))]
public class CustomNavigationRenderer : NavigationRenderer
{
private string pName;
private int pCCount;
private string pCName;
private App MainApp { get; set; }
public override void ViewDidLoad()
{
base.ViewDidLoad();
}
private void CIndexChanged(int pCCount, string pName)
{
UIBarButtonItem providerBtn = TopViewController.NavigationItem.RightBarButtonItems[0];
}
デバッグ TopViewController で、次のような行が表示されました。
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'CustomNavigationRenderer'.
しかし、現在のオブジェクトから別のカルーセル ビュー オブジェクトにスクロールするまで、TopViewController にはデバッグ モードで次のような行があります。
Xamarin_Forms_Platform_iOS_NavigationRenderer_ParentingViewController
オブジェクトがアクション バーの項目に到達しない主な理由は何ですか?