1

我有一个连接了DidDismissUIPopoverController

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

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

当用户在popover外部点击关闭 popover 时, 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 回答