UIActivityIndicatorView及mono touch中线程的使用

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值