See Also: UITableViewCell Members
A UIKit.UITableViewCell represents a single cell (row) in a UIKit.UITableView. UIKit.UITableViewCells are typically allocated in the UITableViewSource.GetCell method of UIKit.UITableViewSource if UITableView.DequeueReusableCell returns null. (See discussion at UIKit.UITableView or UITableViewSource.GetCell).
All of the predefined styles have UITableViewCell.TextLabel and UITableViewCell.DetailTextLabel properties of type UIKit.UILabel and all but UITableViewCellStyle.Value2 have a UITableViewCell.Image of type UIKit.UIImage. Assignment to the UITableViewCell.Image property of a cell initialized with the UITableViewCellStyle.Value2 style will result in a runtime exception.
A UIKit.UITableViewCell may combine its UITableViewCell.ContentView with a UIKit.UIView assigned to its UITableViewCell.AccessoryView property. Accessory views are often used with standard UIKit.UITableViewCellAccessorys, such as a checkmark or disclosure indicator. When being edited, a UIKit.UITableViewCell will combine its UITableViewCell.ContentView with an editing control on the left and, optionally, a reordering control on the right.
To customize UIKit.UITableViewCells, application developers can either customize the views used by one of the predefined styles or can subclass UIKit.UITableViewCell. (In addition, application developers will often override UITableViewSource.GetHeightForRow.)
Starting with iOS 8, table view cells can be auto-sized, and no longer require the UITableViewSource.GetHeightForRow(UITableView, Foundation.NSIndexPath) to be implemented to size cells. To do this, the cell constructor should set the UITableViewCell.ContentView constraints.
Application developers should prefer subclassing UIKit.UITableViewCell over extensive customization of predefined styles. Xamarin's experience is that subclassing is less error-prone. Although subclassing introduces the normal overhead of a new class, this is generally a minor trade-off in comparison to the importance and complexity of the customized cell.
Because UIKit.UITableViewCells appear rapidly during scrolling, application developers should avoid layout recalculations and higher-cost rendering techniques such as the use of transparent views.