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();
});
}
}