先看一段代码:
using System;
using System.Drawing;
using MonoTouch.Foundation;
using MonoTouch.UIKit;
using chongqing;
namespace GCForum
{
public partial class DefaultS : BaseViewController
{
/// <summary>
/// The timer.
/// </summary>
private NSTimer timer;
public DefaultS () : base ("DefaultS", null)
{
}
public override void ViewWillDisappear (bool animated)
{
base.ViewWillDisappear (animated);
if (timer != null) {
timer.Invalidate ();
timer.Dispose ();
timer = null;
}
}
public override void ViewDidLoad ()
{
this.ViewControlBGImg = "loading.png";
base.ViewDidLoad ();
this.NavigationController.NavigationBarHidden = true;
double sec = 1;
timer = NSTimer.CreateRepeatingScheduledTimer (sec, delegate {
sec += 1;
if (sec == 3) {
this.NavigationController.PushViewController (new Login (), true);
}
});
}
//...
}
}
delegate方法内部可以做一些具体的业务处理,比如间隔多少时间处理某个事情。
在ViewWillDisappear方法里面手动的释放掉它
隐藏状态栏:
UIApplication.SharedApplication.StatusBarHidden = true;
上面的方法只能在sdk7以下可以隐藏状态栏,坑爹的sdk7中是个半透明状态,时间还显示。搞了好久才找到,需要重新一个方法:
public override bool PrefersStatusBarHidden ()
{
return true;
}
后来者有福了