summaryrefslogtreecommitdiff
path: root/CocoaSharp/UIKit/UITableView.cs
blob: 69e93c62221de312ab1cb6794e937038f394cb17 (plain)
1
using ObjectiveC;
using System;
using SharpSwift.Attributes;
using System.Collections.Generic;
using Foundation;
using CoreGraphics;

namespace UIKit
{
    /// <summary>
    /// An instance of UITableView (or simply, a table view) is a means for displaying and editing hierarchical lists of information.
    /// </summary>
    /// <see cref="https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UITableView_Class/index.html#//apple_ref/occ/cl/UITableView"/>
    [iOSVersion(2)]
    public class UITableView : UIScrollView//, AnyObject, NSCoding, NSObjectProtocol, Reflectable, UIAccessibilityIdentification, UIAppearance, UIAppearanceContainer, UICoordinateSpace, UIDynamicItem, UITraitEnvironment
    {
        public UITableView() { }
        /// <summary>
        /// Initializes and returns a table view object having the given frame and style.
        /// </summary>
        /// <param name="frame">A rectangle specifying the initial location and size of the table view in its superview'€™s coordinates. The frame of the table view changes as table cells are added and deleted.</param>
        /// <param name="style">A constant that specifies the style of the table view. See Table View Style for descriptions of valid constants.</param>
        [iOSVersion(2)]
        public UITableView(CGRect frame, UITableViewStyle style) { }
        
        /// <summary>
        /// Returns the number of rows (table cells) in a specified section.
        /// </summary>
        /// <param name="section">An index number that identifies a section of the table. Table views in a plain style have a section index of zero.</param>
        [iOSVersion(2)]
        [Export("numberOfRowsInSection")]
        public virtual int NumberOfRowsInSection(int section) { return default(int); }
        
        /// <summary>
        /// Returns the number of sections for the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("numberOfSections")]
        public virtual int NumberOfSections() { return default(int); }
        
        /// <summary>
        /// Registers a nib object containing a cell with the table view under a specified identifier.
        /// </summary>
        /// <param name="nib">A nib object that specifies the nib file to use to create the cell. This parameter cannot be nil.</param>
        /// <param name="forCellReuseIdentifier">The reuse identifier for the cell. This parameter must not be nil and must not be an empty string.</param>
        [iOSVersion(5)]
        [Export("registerNib")]
        public virtual void RegisterNib(UINib nib, string forCellReuseIdentifier) {  }
        
        /// <summary>
        /// Registers a class for use in creating new table cells.
        /// </summary>
        /// <param name="cellClass">The class of a cell that you want to use in the table.</param>
        /// <param name="forCellReuseIdentifier">The reuse identifier for the cell. This parameter must not be nil and must not be an empty string.</param>
        [iOSVersion(6)]
        [Export("registerClass")]
        public virtual void RegisterClass(AnyClass cellClass, string forCellReuseIdentifier) {  }
        
        /// <summary>
        /// Returns a reusable table-view cell object for the specified reuse identifier.
        /// </summary>
        /// <param name="identifier">A string identifying the cell object to be reused. This parameter must not be nil.</param>
        /// <param name="forIndexPath">The index path specifying the location of the cell. The data source receives this information when it is asked for the cell and should just pass it along. This method uses the index path to perform additional configuration based on the cell’s position in the table view.</param>
        [iOSVersion(6)]
        [Export("dequeueReusableCellWithIdentifier")]
        public virtual AnyObject DequeueReusableCellWithIdentifier(string identifier, NSIndexPath forIndexPath) { return default(AnyObject); }
        
        /// <summary>
        /// Returns a reusable table-view cell object located by its identifier.
        /// </summary>
        /// <param name="identifier">A string identifying the cell object to be reused. This parameter must not be nil.</param>
        [iOSVersion(2)]
        [Export("dequeueReusableCellWithIdentifier")]
        public virtual AnyObject DequeueReusableCellWithIdentifier(string identifier) { return default(AnyObject); }
        
        /// <summary>
        /// Registers a nib object containing a header or footer with the table view under a specified identifier.
        /// </summary>
        /// <param name="nib">A nib object that specifies the nib file to use to create the header or footer view. This parameter cannot be nil.</param>
        /// <param name="forHeaderFooterViewReuseIdentifier">The reuse identifier for the header or footer view. This parameter must not be nil and must not be an empty string.</param>
        /// <param name="NAME_YOUR_PARAMS">DO NOT USE THIS PARAMETER - Instead make sure to name the parameters you're using.</param>
        [iOSVersion(6)]
        [Export("registerNib")]
        [IgnoreParameter("NAME_YOUR_PARAMS")]
        public virtual void RegisterNib(UINib nib, string forHeaderFooterViewReuseIdentifier, bool NAME_YOUR_PARAMS = false) {  }
        
        /// <summary>
        /// Registers a class for use in creating new table header or footer views.
        /// </summary>
        /// <param name="aClass">The class of a header or footer view that you want to use in the table.</param>
        /// <param name="forHeaderFooterViewReuseIdentifier">The reuse identifier for the header or footer view. This parameter must not be nil and must not be an empty string.</param>
        /// <param name="NAME_YOUR_PARAMS">DO NOT USE THIS PARAMETER - Instead make sure to name the parameters you're using.</param>
        [iOSVersion(6)]
        [Export("registerClass")]
        [IgnoreParameter("NAME_YOUR_PARAMS")]
        public virtual void RegisterClass(AnyClass aClass, string forHeaderFooterViewReuseIdentifier, bool NAME_YOUR_PARAMS = false) {  }
        
        /// <summary>
        /// Returns a reusable header or footer view located by its identifier.
        /// </summary>
        /// <param name="identifier">A string identifying the header or footer view to be reused. This parameter must not be nil.</param>
        [iOSVersion(6)]
        [Export("dequeueReusableHeaderFooterViewWithIdentifier")]
        public virtual AnyObject DequeueReusableHeaderFooterViewWithIdentifier(string identifier) { return default(AnyObject); }
        
        /// <summary>
        /// Returns the header view associated with the specified section.
        /// </summary>
        /// <param name="section">An index number that identifies a section of the table. Table views in a plain style have a section index of zero.</param>
        [iOSVersion(6)]
        [Export("headerViewForSection")]
        public virtual UITableViewHeaderFooterView HeaderViewForSection(int section) { return default(UITableViewHeaderFooterView); }
        
        /// <summary>
        /// Returns the footer view associated with the specified section.
        /// </summary>
        /// <param name="section">An index number that identifies a section of the table. Table views in a plain style have a section index of zero.</param>
        [iOSVersion(6)]
        [Export("footerViewForSection")]
        public virtual UITableViewHeaderFooterView FooterViewForSection(int section) { return default(UITableViewHeaderFooterView); }
        
        /// <summary>
        /// Returns the table cell at the specified index path.
        /// </summary>
        /// <param name="indexPath">The index path locating the row in the receiver.</param>
        [iOSVersion(2)]
        [Export("cellForRowAtIndexPath")]
        public virtual UITableViewCell CellForRowAtIndexPath(NSIndexPath indexPath) { return default(UITableViewCell); }
        
        /// <summary>
        /// Returns an index path representing the row and section of a given table-view cell.
        /// </summary>
        /// <param name="cell">A cell object of the table view.</param>
        [iOSVersion(2)]
        [Export("indexPathForCell")]
        public virtual NSIndexPath IndexPathForCell(UITableViewCell cell) { return default(NSIndexPath); }
        
        /// <summary>
        /// Returns an index path identifying the row and section at the given point.
        /// </summary>
        /// <param name="point">A point in the local coordinate system of the receiver (the table view'€™s bounds).</param>
        [iOSVersion(2)]
        [Export("indexPathForRowAtPoint")]
        public virtual NSIndexPath IndexPathForRowAtPoint(CGPoint point) { return default(NSIndexPath); }
        
        /// <summary>
        /// An array of index paths each representing a row enclosed by a given rectangle.
        /// </summary>
        /// <param name="rect">A rectangle defining an area of the table view in local coordinates.</param>
        [iOSVersion(2)]
        [Export("indexPathsForRowsInRect")]
        public virtual AnyObject[] IndexPathsForRowsInRect(CGRect rect) { return default(AnyObject[]); }
        
        /// <summary>
        /// Returns the table cells that are visible in the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("visibleCells")]
        public virtual AnyObject[] VisibleCells() { return default(AnyObject[]); }
        
        /// <summary>
        /// Returns an array of index paths each identifying a visible row in the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("indexPathsForVisibleRows")]
        public virtual AnyObject[] IndexPathsForVisibleRows() { return default(AnyObject[]); }
        
        /// <summary>
        /// Scrolls the receiver until a row identified by index path is at a particular location on the screen.
        /// </summary>
        /// <param name="indexPath">An index path that identifies a row in the table view by its row index and its section index.
        ///   NSNotFound is a valid row index for scrolling to a section with zero rows.</param>
        /// <param name="atScrollPosition">A constant that identifies a relative position in the receiving table view (top, middle, bottom) for row when scrolling concludes. See Table View Scroll Position for descriptions of valid constants.</param>
        /// <param name="animated">true if you want to animate the change in position, false if it should be immediate.</param>
        [iOSVersion(2)]
        [Export("scrollToRowAtIndexPath")]
        public virtual void ScrollToRowAtIndexPath(NSIndexPath indexPath, UITableViewScrollPosition atScrollPosition, bool animated) {  }
        
        /// <summary>
        /// Scrolls the table view so that the selected row nearest to a specified position in the table view is at that position.
        /// </summary>
        /// <param name="scrollPosition">A constant that identifies a relative position in the receiving table view (top, middle, bottom) for the row when scrolling concludes. See Table View Scroll Position a descriptions of valid constants.</param>
        /// <param name="animated">true if you want to animate the change in position, false if it should be immediate.</param>
        [iOSVersion(2)]
        [Export("scrollToNearestSelectedRowAtScrollPosition")]
        public virtual void ScrollToNearestSelectedRowAtScrollPosition(UITableViewScrollPosition scrollPosition, bool animated) {  }
        
        /// <summary>
        /// Returns an index path identifying the row and section of the selected row.
        /// </summary>
        [iOSVersion(2)]
        [Export("indexPathForSelectedRow")]
        public virtual NSIndexPath IndexPathForSelectedRow() { return default(NSIndexPath); }
        
        /// <summary>
        /// Returns the index paths represented the selected rows.
        /// </summary>
        [iOSVersion(5)]
        [Export("indexPathsForSelectedRows")]
        public virtual AnyObject[] IndexPathsForSelectedRows() { return default(AnyObject[]); }
        
        /// <summary>
        /// Selects a row in the receiver identified by index path, optionally scrolling the row to a location in the receiver.
        /// </summary>
        /// <param name="indexPath">An index path identifying a row in the receiver.</param>
        /// <param name="animated">true if you want to animate the selection and any change in position, false if the change should be immediate.</param>
        /// <param name="scrollPosition">A constant that identifies a relative position in the receiving table view (top, middle, bottom) for the row when scrolling concludes. See Table View Scroll Position a descriptions of valid constants.</param>
        [iOSVersion(2)]
        [Export("selectRowAtIndexPath")]
        public virtual void SelectRowAtIndexPath(NSIndexPath indexPath, bool animated, UITableViewScrollPosition scrollPosition) {  }
        
        /// <summary>
        /// Deselects a given row identified by index path, with an option to animate the deselection.
        /// </summary>
        /// <param name="indexPath">An index path identifying a row in the receiver.</param>
        /// <param name="animated">true if you want to animate the deselection and false if the change should be immediate.</param>
        [iOSVersion(2)]
        [Export("deselectRowAtIndexPath")]
        public virtual void DeselectRowAtIndexPath(NSIndexPath indexPath, bool animated) {  }
        
        /// <summary>
        /// Begin a series of method calls that insert, delete, or select rows and sections of the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("beginUpdates")]
        public virtual void BeginUpdates() {  }
        
        /// <summary>
        /// Conclude a series of method calls that insert, delete, select, or reload rows and sections of the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("endUpdates")]
        public virtual void EndUpdates() {  }
        
        /// <summary>
        /// Inserts rows in the receiver at the locations identified by an array of index paths, with an option to animate the insertion.
        /// </summary>
        /// <param name="indexPaths">An array of NSIndexPath objects each representing a row index and section index that together identify a row in the table view.</param>
        /// <param name="withRowAnimation">A constant that either specifies the kind of animation to perform when inserting the cell or requests no animation. See Table Cell Insertion and Deletion Animation for descriptions of the constants.</param>
        [iOSVersion(2)]
        [Export("insertRowsAtIndexPaths")]
        public virtual void InsertRowsAtIndexPaths(AnyObject[] indexPaths, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Deletes the rows specified by an array of index paths, with an option to animate the deletion.
        /// </summary>
        /// <param name="indexPaths">An array of NSIndexPath objects identifying the rows to delete.</param>
        /// <param name="withRowAnimation">A constant that indicates how the deletion is to be animated, for example, fade out or slide out from the bottom. See Table Cell Insertion and Deletion Animation for descriptions of these constants.</param>
        [iOSVersion(2)]
        [Export("deleteRowsAtIndexPaths")]
        public virtual void DeleteRowsAtIndexPaths(AnyObject[] indexPaths, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Moves the row at a specified location to a destination location.
        /// </summary>
        /// <param name="indexPath">An index path identifying the row to move.</param>
        /// <param name="toIndexPath">An index path identifying the row that is the destination of the row at indexPath. The existing row at that location slides up or down to an adjoining index position to make room for it.</param>
        [iOSVersion(5)]
        [Export("moveRowAtIndexPath")]
        public virtual void MoveRowAtIndexPath(NSIndexPath indexPath, NSIndexPath toIndexPath) {  }
        
        /// <summary>
        /// Inserts one or more sections in the receiver, with an option to animate the insertion.
        /// </summary>
        /// <param name="sections">An index set that specifies the sections to insert in the receiving table view. If a section already exists at the specified index location, it is moved down one index location.</param>
        /// <param name="withRowAnimation">A constant that indicates how the insertion is to be animated, for example, fade in or slide in from the left. See Table Cell Insertion and Deletion Animation for descriptions of these constants.</param>
        [iOSVersion(2)]
        [Export("insertSections")]
        public virtual void InsertSections(NSIndexSet sections, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Deletes one or more sections in the receiver, with an option to animate the deletion.
        /// </summary>
        /// <param name="sections">An index set that specifies the sections to delete from the receiving table view. If a section exists after the specified index location, it is moved up one index location.</param>
        /// <param name="withRowAnimation">A constant that either specifies the kind of animation to perform when deleting the section or requests no animation. See Table Cell Insertion and Deletion Animation for descriptions of the constants.</param>
        [iOSVersion(2)]
        [Export("deleteSections")]
        public virtual void DeleteSections(NSIndexSet sections, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Moves a section to a new location in the table view.
        /// </summary>
        /// <param name="section">The index of the section to move.</param>
        /// <param name="toSection">The index in the table view that is the destination of the move for the section. The existing section at that location slides up or down to an adjoining index position to make room for it.</param>
        [iOSVersion(5)]
        [Export("moveSection")]
        public virtual void MoveSection(int section, int toSection) {  }
        
        /// <summary>
        /// Toggles the receiver into and out of editing mode.
        /// </summary>
        /// <param name="editing">true to enter editing mode, false to leave it. The default value is false .</param>
        /// <param name="animated">true to animate the transition to editing mode, false to make the transition immediate.</param>
        [iOSVersion(2)]
        [Export("setEditing")]
        public virtual void SetEditing(bool editing, bool animated) {  }
        
        /// <summary>
        /// Reloads the rows and sections of the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("reloadData")]
        public virtual void ReloadData() {  }
        
        /// <summary>
        /// Reloads the specified rows using a certain animation effect.
        /// </summary>
        /// <param name="indexPaths">An array of NSIndexPath objects identifying the rows to reload.</param>
        /// <param name="withRowAnimation">A constant that indicates how the reloading is to be animated, for example, fade out or slide out from the bottom. See Table Cell Insertion and Deletion Animation for descriptions of these constants.
        ///   The animation constant affects the direction in which both the old and the new rows slide. For example, if the animation constant is UITableViewRowAnimationRight, the old rows slide out to the right and the new cells slide in from the right.</param>
        [iOSVersion(3)]
        [Export("reloadRowsAtIndexPaths")]
        public virtual void ReloadRowsAtIndexPaths(AnyObject[] indexPaths, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Reloads the specified sections using a given animation effect.
        /// </summary>
        /// <param name="sections">An index set identifying the sections to reload.</param>
        /// <param name="withRowAnimation">A constant that indicates how the reloading is to be animated, for example, fade out or slide out from the bottom. See Table Cell Insertion and Deletion Animation for descriptions of these constants.
        ///   The animation constant affects the direction in which both the old and the new section rows slide. For example, if the animation constant is UITableViewRowAnimationRight, the old rows slide out to the right and the new cells slide in from the right.</param>
        [iOSVersion(3)]
        [Export("reloadSections")]
        public virtual void ReloadSections(NSIndexSet sections, UITableViewRowAnimation withRowAnimation) {  }
        
        /// <summary>
        /// Reloads the items in the index bar along the right side of the table view.
        /// </summary>
        [iOSVersion(3)]
        [Export("reloadSectionIndexTitles")]
        public virtual void ReloadSectionIndexTitles() {  }
        
        /// <summary>
        /// Returns the drawing area for a specified section of the receiver.
        /// </summary>
        /// <param name="section">An index number identifying a section of the table view. Plain-style table views always have a section index of zero.</param>
        [iOSVersion(2)]
        [Export("rectForSection")]
        public virtual CGRect RectForSection(int section) { return default(CGRect); }
        
        /// <summary>
        /// Returns the drawing area for a row identified by index path.
        /// </summary>
        /// <param name="indexPath">An index path object that identifies a row by its index and its section index.</param>
        [iOSVersion(2)]
        [Export("rectForRowAtIndexPath")]
        public virtual CGRect RectForRowAtIndexPath(NSIndexPath indexPath) { return default(CGRect); }
        
        /// <summary>
        /// Returns the drawing area for the footer of the specified section.
        /// </summary>
        /// <param name="section">An index number identifying a section of the table view. Plain-style table views always have a section index of zero.</param>
        [iOSVersion(2)]
        [Export("rectForFooterInSection")]
        public virtual CGRect RectForFooterInSection(int section) { return default(CGRect); }
        
        /// <summary>
        /// Returns the drawing area for the header of the specified section.
        /// </summary>
        /// <param name="section">An index number identifying a section of the table view. Plain-style table views always have a section index of zero.</param>
        [iOSVersion(2)]
        [Export("rectForHeaderInSection")]
        public virtual CGRect RectForHeaderInSection(int section) { return default(CGRect); }
        
        /// <summary>
        /// Returns the style of the receiver. (read-only)
        /// </summary>
        [iOSVersion(2)]
        [Export("style")]
        public UITableViewStyle Style { get; private set; }
        
        /// <summary>
        /// The height of each row (table cell) in the receiver.
        /// </summary>
        [iOSVersion(2)]
        [Export("rowHeight")]
        public CGFloat RowHeight { get; set; }
        
        /// <summary>
        /// The style for table cells used as separators.
        /// </summary>
        [iOSVersion(2)]
        [Export("separatorStyle")]
        public UITableViewCellSeparatorStyle SeparatorStyle { get; set; }
        
        /// <summary>
        /// The color of separator rows in the table view.
        /// </summary>
        [iOSVersion(2)]
        [Export("separatorColor")]
        public UIColor SeparatorColor { get; set; }
        
        /// <summary>
        /// The effect applied to table separators.
        /// </summary>
        [iOSVersion(8)]
        [Export("separatorEffect")]
        public UIVisualEffect SeparatorEffect { get; set; }
        
        /// <summary>
        /// The background view of the table view.
        /// </summary>
        [iOSVersion(3.2)]
        [Export("backgroundView")]
        public UIView BackgroundView { get; set; }
        
        /// <summary>
        /// Specifies the default inset of cell separators.
        /// </summary>
        [iOSVersion(7)]
        [Export("separatorInset")]
        public UIEdgeInsets SeparatorInset { get; set; }
        
        /// <summary>
        /// Returns an accessory view that is displayed above the table.
        /// </summary>
        [iOSVersion(2)]
        [Export("tableHeaderView")]
        public UIView TableHeaderView { get; set; }
        
        /// <summary>
        /// Returns an accessory view that is displayed below the table.
        /// </summary>
        [iOSVersion(2)]
        [Export("tableFooterView")]
        public UIView TableFooterView { get; set; }
        
        /// <summary>
        /// The height of section headers in the receiving table view.
        /// </summary>
        [iOSVersion(2)]
        [Export("sectionHeaderHeight")]
        public CGFloat SectionHeaderHeight { get; set; }
        
        /// <summary>
        /// The height of section footers in the receiving table view.
        /// </summary>
        [iOSVersion(2)]
        [Export("sectionFooterHeight")]
        public CGFloat SectionFooterHeight { get; set; }
        
        /// <summary>
        /// The estimated height of rows in the table view.
        /// </summary>
        [iOSVersion(7)]
        [Export("estimatedRowHeight")]
        public CGFloat EstimatedRowHeight { get; set; }
        
        /// <summary>
        /// The estimated height of section headers in the table view.
        /// </summary>
        [iOSVersion(7)]
        [Export("estimatedSectionHeaderHeight")]
        public CGFloat EstimatedSectionHeaderHeight { get; set; }
        
        /// <summary>
        /// The estimated height of section footers in the table view.
        /// </summary>
        [iOSVersion(7)]
        [Export("estimatedSectionFooterHeight")]
        public CGFloat EstimatedSectionFooterHeight { get; set; }
        
        /// <summary>
        /// A Boolean value that determines whether users can select a row.
        /// </summary>
        [iOSVersion(3)]
        [Export("allowsSelection")]
        public bool AllowsSelection { get; set; }
        
        /// <summary>
        /// A Boolean value that determines whether users can select more than one row outside of editing mode.
        /// </summary>
        [iOSVersion(5)]
        [Export("allowsMultipleSelection")]
        public bool AllowsMultipleSelection { get; set; }
        
        /// <summary>
        /// A Boolean value that determines whether users can select cells while the receiver is in editing mode.
        /// </summary>
        [iOSVersion(2)]
        [Export("allowsSelectionDuringEditing")]
        public bool AllowsSelectionDuringEditing { get; set; }
        
        /// <summary>
        /// A Boolean value that controls whether users can select more than one cell simultaneously in editing mode.
        /// </summary>
        [iOSVersion(5)]
        [Export("allowsMultipleSelectionDuringEditing")]
        public bool AllowsMultipleSelectionDuringEditing { get; set; }
        
        /// <summary>
        /// A Boolean value that determines whether the receiver is in editing mode.
        /// </summary>
        [iOSVersion(2)]
        [Export("editing")]
        public bool Editing { get; set; }
        
        /// <summary>
        /// The object that acts as the data source of the receiving table view.
        /// </summary>
        [iOSVersion(2)]
        [Export("dataSource")]
        public UITableViewDataSource DataSource { get; set; }
        
        /// <summary>
        /// The object that acts as the delegate of the receiving table view.
        /// </summary>
        [iOSVersion(2)]
        [Export("delegate")]
        public UITableViewDelegate Delegate { get; set; }
        
        /// <summary>
        /// The number of table rows at which to display the index list on the right edge of the table.
        /// </summary>
        [iOSVersion(2)]
        [Export("sectionIndexMinimumDisplayRowCount")]
        public int SectionIndexMinimumDisplayRowCount { get; set; }
        
        /// <summary>
        /// The color to use for the table view’s index text.
        /// </summary>
        [iOSVersion(6)]
        [Export("sectionIndexColor")]
        public UIColor SectionIndexColor { get; set; }
        
        /// <summary>
        /// The color to use for the background of the table view’s section index while not being touched.
        /// </summary>
        [iOSVersion(7)]
        [Export("sectionIndexBackgroundColor")]
        public UIColor SectionIndexBackgroundColor { get; set; }
        
        /// <summary>
        /// The color to use for the table view’s index background area.
        /// </summary>
        [iOSVersion(6)]
        [Export("sectionIndexTrackingBackgroundColor")]
        public UIColor SectionIndexTrackingBackgroundColor { get; set; }
    }
    /// <summary>
    /// The style of the table view.
    /// </summary>
    [iOSVersion(2)]
    public enum UITableViewStyle
    {
        /// <summary>
        /// A plain table view. Any section headers or footers are displayed as inline separators and float when the table view is scrolled.
        /// </summary>
        [iOSVersion(2)]
        Plain,
        /// <summary>
        /// A table view whose sections present distinct groups of rows. The section headers and footers do not float.
        /// </summary>
        [iOSVersion(2)]
        Grouped,
    }
    /// <summary>
    /// The position in the table view (top, middle, bottom) to which a given row is scrolled.
    /// </summary>
    [iOSVersion(2)]
    public enum UITableViewScrollPosition
    {
        /// <summary>
        /// The table view scrolls the row of interest to be fully visible with a minimum of movement. If the row is already fully visible, no scrolling occurs. For example, if the row is above the visible area, the behavior is identical to that specified by UITableViewScrollPositionTop. This is the default.
        /// </summary>
        [iOSVersion(2)]
        None,
        /// <summary>
        /// The table view scrolls the row of interest to the top of the visible table view.
        /// </summary>
        [iOSVersion(2)]
        Top,
        /// <summary>
        /// The table view scrolls the row of interest to the middle of the visible table view.
        /// </summary>
        [iOSVersion(2)]
        Middle,
        /// <summary>
        /// The table view scrolls the row of interest to the bottom of the visible table view.
        /// </summary>
        [iOSVersion(2)]
        Bottom,
    }
    /// <summary>
    /// The type of animation when rows are inserted or deleted.
    /// </summary>
    [iOSVersion(2)]
    public enum UITableViewRowAnimation
    {
        /// <summary>
        /// The inserted or deleted row or rows fades into or out of the table view.
        /// </summary>
        [iOSVersion(2)]
        Fade,
        /// <summary>
        /// The inserted row or rows slides in from the right; the deleted row or rows slides out to the right.
        /// </summary>
        [iOSVersion(2)]
        Right,
        /// <summary>
        /// The inserted row or rows slides in from the left; the deleted row or rows slides out to the left.
        /// </summary>
        [iOSVersion(2)]
        Left,
        /// <summary>
        /// The inserted row or rows slides in from the top; the deleted row or rows slides out toward the top.
        /// </summary>
        [iOSVersion(2)]
        Top,
        /// <summary>
        /// The inserted row or rows slides in from the bottom; the deleted row or rows slides out toward the bottom.
        /// </summary>
        [iOSVersion(2)]
        Bottom,
        /// <summary>
        /// No animation is performed. The new cell value appears as if the cell had just been reloaded.
        /// </summary>
        [iOSVersion(3)]
        None,
        /// <summary>
        /// The table view attempts to keep the old and new cells centered in the space they did or will occupy. Available in iPhone 3.2.
        /// </summary>
        [iOSVersion(3.2)]
        Middle,
        /// <summary>
        /// The table view chooses an appropriate animation style for you. (Introduced in iOS 5.0.)
        /// </summary>
        [iOSVersion(5)]
        Automatic,
    }
    /// <summary>
    /// There is no userInfo dictionary associated with this notification.
    /// </summary>
    [iOSVersion(2)]
    public class UITableViewSelectionDidChangeNotification : NSNotification
    {
        public UITableViewSelectionDidChangeNotification() : base("", null) { }
    }
}
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback