public void ReloadComplete ()
{
if (topRefreshView != null)
topRefreshView.LastUpdate = DateTime.Now;
if (bottomRefreshView != null)
bottomRefreshView.LastUpdate = DateTime.Now;
if (!reloading)
return;
reloading = false;
if (topRefreshView != null) {
topRefreshView.SetActivity (false);
topRefreshView.Flip (false);
UIView.BeginAnimations ("doneReloading");
UIView.SetAnimationDuration (0.3f);
TableView.ContentInset = new UIEdgeInsets (0, 0, 0, 0);
topRefreshView.SetStatus (RefreshViewStatus.PullToReload);
UIView.CommitAnimations ();
}
if (bottomRefreshView != null) {
bottomRefreshView.SetActivity (false);
bottomRefreshView.Flip (false);
UIView.BeginAnimations ("doneReloading");
UIView.SetAnimationDuration (0.3f);
TableView.ContentInset = new UIEdgeInsets (0, 0, 0, 0);
bottomRefreshView.SetStatus (RefreshViewStatus.PullToReload);
UIView.CommitAnimations ();
}
}
public void DemoRefresh () { int i = 0; var root = new RootElement ("Pull to Refresh"){ new Section () { new MultilineElement ("Pull from the top to add\na new item at the bottom\nThen wait 1 second") } }; var dvc = new DialogViewController (root, true); // // After the DialogViewController is created, but before it is displayed // Assign to the RefreshRequested event. The event handler typically // will queue a network download, or compute something in some thread // when the update is complete, you must call "ReloadComplete" to put // the DialogViewController in the regular mode // dvc.RefreshRequested += delegate { // Wait 3 seconds, to simulate some network activity NSTimer.CreateScheduledTimer (1, delegate { root [0].Add (new StringElement ("Added " + (++i))); // Notify the dialog view controller that we are done // this will hide the progress info dvc.ReloadComplete (); }); }; dvc.Style = UITableViewStyle.Plain; navigation.PushViewController (dvc, true); }