UITableView基础入门

新建一个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
	}
}

  运行结果:

原文地址:https://www.cnblogs.com/bubugao/p/4495458.html