UIActivityIndicatorView用于表示一些操作正在处理中,但无法预知处理时间和进度。它在操作进行中显示一个动态的 旋转圈。和任何其它视图一样,只要把UIActivityIndicatorView作为子视图进行添加就可以使用它了。同样,要停止动画并让这个活动指示器消失,则调用StartAnimating方法。同样,要停止动画,并让这个活动指示器消失,则调用StopAnimating。值得注意的是,任何运行时间较长的任务都需要另外开启一个线程;否则,会阻碍主线程,导致活动指示器无法显示。
UIActivityIndicatorView _activityView;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
//show loading...
_activityView = new UIActivityIndicatorView ();
_activityView.Frame = new RectangleF (0, 0, 50, 50);
_activityView.Center = this.View.Center;
_activityView.ActivityIndicatorViewStyle = UIActivityIndicatorViewStyle.WhiteLarge;
_activityView.AutoresizingMask = UIViewAutoresizing.FlexibleMargins;
this.View.AddSubview (_activityView);
_activityView.StartAnimating ();
//添加表格
TBView = new UITableView (this.View.Bounds);
TBView.BackgroundColor = UIColor.Clear;
TBView.AutoresizingMask = UIViewAutoresizing.All;
//TBView.Style = UITableViewStyle.Grouped;
this.View.Add (TBView);
System.Threading.Thread t = new System.Threading.Thread (ShowTable);
t.Start ();
}
private void ShowTable()
{
System.Threading.Thread.Sleep (3000);
using (var pool=new NSAutoreleasePool()) {
this.InvokeOnMainThread (delegate {
ListAT = ArticleBusiness.GetData (); //获取数据
DownLoadFile.BindTableView (this, TBView, ListAT, KeyCenter.Key_LoadedImgPath);
_activityView.StopAnimating();
_activityView.RemoveFromSuperview();
});
}
}