新建一个Single View Application
添加一个空类如下:
using System;
using UIKit;
using Foundation;
namespace BasicTable
{
public class TableSource : UITableViewSource
{
string[] TableItems;
string cellIdentifier="TableCell";
public TableSource (string[] items)
{
TableItems = items;
}
public override nint RowsInSection (UITableView tableview, nint section)
{
return TableItems.Length;
}
public override UITableViewCell GetCell (UITableView tableView, NSIndexPath indexPath)
{
UITableViewCell cell = tableView.DequeueReusableCell (cellIdentifier);
if (cell == null) {
cell = new UITableViewCell (UITableViewCellStyle.Default,cellIdentifier);
cell.TextLabel.Text=TableItems[indexPath.Row];
}
return cell;
}
public override void RowSelected (UITableView tableView, NSIndexPath indexPath)
{
new UIAlertView ("Row Selected", TableItems [indexPath.Row], null, "OK", null).Show ();
tableView.DeselectRow (indexPath,true);
}
}
}
控制器中的代码如下:
using System;
using System.Drawing;
using Foundation;
using UIKit;
namespace BasicTable
{
public partial class BasicTableViewController : UIViewController
{
public BasicTableViewController (IntPtr handle) : base (handle)
{
}
public override void DidReceiveMemoryWarning ()
{
// Releases the view if it doesn't have a superview.
base.DidReceiveMemoryWarning ();
// Release any cached data, images, etc that aren't in use.
}
#region View lifecycle
public override void ViewDidLoad ()
{
base.ViewDidLoad ();
// Perform any additional setup after loading the view, typically from a nib.
UITableView table=new UITableView(View.Bounds);
string[] tableItems = new string[]{ "Vegetables","Fruits","Flower Buds","Legumes","Bulbs","Tubers","Bok choy",
"Cabbage","Celery","Dandelion","Epazote","Endive","Fiddlehead","Fluted pumpkin","Garden Rocket",
"Good King Henry","Kai-lan","Komatsuna","Lamb's lettuce","Land cress","Melokhia",
"Mustard","Napa cabbage","New Zealand Spinach","Orache","Pak choy","Paracress","Radicchio","Sea beet","Tatsoi"};
table.Source = new TableSource (tableItems);
Add (table);
}
public override void ViewWillAppear (bool animated)
{
base.ViewWillAppear (animated);
}
public override void ViewDidAppear (bool animated)
{
base.ViewDidAppear (animated);
}
public override void ViewWillDisappear (bool animated)
{
base.ViewWillDisappear (animated);
}
public override void ViewDidDisappear (bool animated)
{
base.ViewDidDisappear (animated);
}
#endregion
}
}
运行结果: