有一个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.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);