UpPopoverController.DidDismiss不触发

有一个UIPopoverController,有DidDismiss

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

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

如果popover被用户关闭,DidDismiss就触发正常。

如果popover通过viewcontroller关闭,DidDismiss就不能正常触发。

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

如果调用了popover.DismissDidDismiss就不能触发

更优的解决反方法是监听viewconvtrollerViewDisappearing,然后进行更新:

       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);