1

DidDismissが配線されているUIPopoverControllerがあります。

           popYear.PresentFromBarButtonItem(btnYear,UIPopoverArrowDirection.Any,true);

           popYear.DidDismiss += (sender, args) => {
              Console.WriteLine("Bye bye");
           };

ユーザーがポップオーバーの外側をタップしてポップオーバーを閉じると、DidDismissが正常に起動します。

ただし、ポップオーバーがホストしているビューコントローラで閉じられている場合、 DidDismissは起動しません。

        tbhCLose.Tapped+= () => {
           if(PopOver!=null)
             PopOver.Dismiss(false); //Won't cause DidDismiss to fire
        };
4

1 に答える 1

1

popover.Dismissが呼び出されても、DidDismissは起動しません。

より良いオプションは、viewconvtrollerのViewDisappearingをリッスンし、そこで更新を行うことです。」

           var uc = new YearViewController(SelectedYear);
           uc.ViewDisappearing+= (sender, e) => {
              this.SelectedYear = uc.SelectedYear;
              Update();
           };
           popYear = new UIPopoverController(uc);
           uc.PopOver = popYear;
           popYear.PresentFromBarButtonItem(btnYear,UIPopoverArrowDirection.Any,true);
于 2013-01-27T17:52:48.090 に答える