有不明白的地方欢迎入群
347636249
探讨
using System;
//
using MonoTouch.UIKit;
using MonoTouch.Foundation;
using System.Drawing;
namespace GCForum
{
public class MyTestVC :UIViewController
{
public MyTestVC ()
{
}
private UIProgressView _progressView;
private UIButton btn;
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
this.View.BackgroundColor = UIColor.White;
_progressView = new UIProgressView (new RectangleF (10, 200, this.View.Frame.Width - 20, 10));
_progressView.Style = UIProgressViewStyle.Default;
_progressView.TrackTintColor = UIColor.Black; //UIProgressView显示颜色(轨道颜色)
_progressView.ProgressTintColor = UIColor.Red; //进度条的颜色
//_progressView.Center = this.View.Center;
this.View.AddSubview (_progressView);
btn = xxxx.ControlCenter.CreateButton (new RectangleF (120, 250, 80, 35), "Test", "", UIColor.Black);
btn.TouchUpInside += HandlerShowActivityButtonTouchUpInside;
this.View.Add (btn);
}
void HandlerShowActivityButtonTouchUpInside(object sender, EventArgs e)
{
System.Threading.Thread t = new System.Threading.Thread (DoSomethingElse);
t.Start ();
this.btn.Enabled = false;
}
void DoSomethingElse()
{
int n = 3;
for (int i=0; i<n; i++) {
System.Threading.Thread.Sleep (1000);
using (var pool=new NSAutoreleasePool()) {
//this.InvokeOnMainThread (delegate {
// _progressView.Progress = (float)(i + 1 / n);
//});
//===============>匿名表达式
InvokeOnMainThread (() => {
_progressView.Progress = (float)(i + 1) / n;
});
}
}
}
//...
}
}