4.monotouch 代码实现功能总结

1.加载/卸载

//ViewDidAppear和ViewDidDisappear每次进入和离开界面都会调用这进入方法。
public override void ViewDidAppear (bool o)
{
    base.ViewDidAppear (o);
}

public override void ViewDidDisappear (bool b)
{
    base.ViewDidDisappear (b);
}

//ViewDidLoad ()和ViewDidUnload () 不管页面近来多少次,只会在页面首次进入时,执行一次Load。
public override void ViewDidLoad ()
{
    base.ViewDidLoad ();
}
        
public override void ViewDidUnload ()
{
    base.ViewDidUnload ();
}

如果在ViewDidAppear中像View添加了控件,或者绑定了事件,在ViewDidDisappear中一定要删除控件,并解除事件的绑定,否则会导致不必要的错误。

public override bool ShouldAutorotateToInterfaceOrientation (UIInterfaceOrientation toInterfaceOrientation)
{
     if (toInterfaceOrientation == UIInterfaceOrientation.LandscapeLeft || 
      toInterfaceOrientation == UIInterfaceOrientation.LandscapeRight)
      
return true; else    return false;
}

//控制屏幕的旋转,默认情况下是可以随便旋转的,LandscapeLeft和LandscapeRight 设置为横屏。

2. AppDelegate.cs 

public override UIWindow Window {
    get;
    set;
}
Window是自动生成的,不可删除,删除以后会导致Storyboard的导航不可用。
public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)
 {
    return true;
 }
完成启动。
public override void DidEnterBackground (UIApplication application)
{}
public override void WillEnterForeground (UIApplication application)
{}
在真机中点击Home键,程序会执行
DidEnterBackground,程序置于后台运行。
点击后台运行中的程序,会执行WillEnterForeground,将程序置于前台。
可在这两个方法中完成你需要的功能。
public override bool HandleOpenURL (UIApplication application, NSUrl url)
{return true;
}
由其他程序跳转到当前程序时执行

相当于Application类。

3. 所谓的用户控件,monotouch中没有用户控件的概念,但是我们可以创建一个UIViewController,将控件元素放到一个主UIView中,并给需要用到的控件定义属性,在需要用到用户控件的页面添加定义好的UIViewController的UIView。例如:

图片中红色选中区域既是可以滚动翻页的,每一部分就可以抽取出来新建一个页面Cell,在xib中只设计这一部分。

Cell cell = new Cell ();

cell.LoadView (); //必须LoadView()才可使用其控件。

遍历循环添加到滚动视图中即可。

this.UIScrollView.Subviews[index].AddSubview(cell.mianView);

当然使用滚动视图时,需要添加足够的假页,以保证有空间呈现数据记录,ScrollView也需要对属性进行设置,设置如图:

4.所谓的模态窗口样式,原理与上面是相同的。例如下图:

先创建一个与整体窗口大小相同的View,设置半透明,布局窗口控件,在需要的使用的界面上,初始化,并将其父级别View定义属性(例如为mianView),添mianView加到当前View.SubViews中,设置mianView.Hidden=true,需要显示窗口时,设置Hidden=false。

5.窗口提示框

var alert = new UIAlertView (title, message, null, "OK", null);
alert.Show ();
//如果需要点击OK以后再执行一些代码,可以绑定点击事件。
alert.Clicked+= (sender, e) => {};

 

 

 

 

posted @ 2013-03-21 10:20  静艳  阅读(253)  评论(0编辑  收藏  举报