我有一个MasterDetail应用程序和一个NavButton添加新项目.我能够成功地将视图弹出,但是我需要重新加载表格.那么我的MasterViewController究竟如何知道它何时被弹出以便可以重新加载呢?
这是流行代码:
NavigationController.PopViewController(true);
它可以按预期运行,我只需要MasterViewController重新加载表即可,我为此创建了一个方法:
public void ReloadTable()
{
TableView.ReloadData ();
}
解决方法:
尝试这个:
public partial class MasterViewController : UIViewController
{
public void ReloadTable()
{
TableView.ReloadData ();
}
}
public partial class DetailViewController : UIViewController
{
public override void ViewWillDisappear (bool animated)
{
var masterViewController = NavigationController.ViewControllers.OfType<MasterViewController> ().FirstOrDefault();
if (masterViewController != null) {
masterViewController.ReloadTable ();
}
base.ViewWillDisappear (animated);
}
}
您需要使用System.Linq添加;获取OfType方法.