频道栏目
首页 > 程序开发 > 移动开发 > IOS > 正文
UIActivityIndicatorView及mono touch中线程的使用
2013-12-10 11:08:41         来源:Joyhen的专栏  
收藏   我要投稿

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


点击复制链接 与好友分享!回本站首页
相关TAG标签 线程
上一篇:ios通知机制
下一篇:iOS程序进入后台后仍运行定时器NSTimer
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站