1
|
using ObjectiveC;
using System;
using SharpSwift.Attributes;
using System.Collections.Generic;
using Foundation;
using CoreGraphics;
namespace UIKit
{
/// <summary>
/// The UICollectionViewDelegateFlowLayout protocol defines methods that let you coordinate with a UICollectionViewFlowLayout object to implement a grid-based layout. The methods of this protocol define the size of items and the spacing between items in the grid.
/// </summary>
/// <see cref="https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UICollectionViewDelegateFlowLayout_protocol/index.html#//apple_ref/occ/intf/UICollectionViewDelegateFlowLayout"/>
[iOSVersion(6)]
public interface UICollectionViewDelegateFlowLayout//: NSObjectProtocol, UICollectionViewDelegate, UIScrollViewDelegate
{
/// <summary>
/// Asks the delegate for the size of the specified item’s cell.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="sizeForItemAtIndexPath">The index path of the item.</param>
//[iOSVersion(6)]
//[Export("collectionView")]
//[Optional]
CGSize CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, NSIndexPath sizeForItemAtIndexPath);
/// <summary>
/// Asks the delegate for the margins to apply to content in the specified section.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="insetForSectionAtIndex">The index number of the section whose insets are needed.</param>
//[iOSVersion(6)]
//[Export("collectionView")]
//[Optional]
UIEdgeInsets CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, int insetForSectionAtIndex);
/// <summary>
/// Asks the delegate for the spacing between successive rows or columns of a section.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="minimumLineSpacingForSectionAtIndex">The index number of the section whose line spacing is needed.</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("collectionView")]
//[Optional]
//[IgnoreParameter("NAME_YOUR_PARAMS")]
CGFloat CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, int minimumLineSpacingForSectionAtIndex, bool NAME_YOUR_PARAMS = false);
/// <summary>
/// Asks the delegate for the spacing between successive items in the rows or columns of a section.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="minimumInteritemSpacingForSectionAtIndex">The index number of the section whose inter-item spacing is needed.</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("collectionView")]
//[Optional]
//[IgnoreParameter("NAME_YOUR_PARAMS")]
CGFloat CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, int minimumInteritemSpacingForSectionAtIndex, int NAME_YOUR_PARAMS = 0);
/// <summary>
/// Asks the delegate for the size of the header view in the specified section.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="referenceSizeForHeaderInSection">The index of the section whose header size is being requested.</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("collectionView")]
//[Optional]
//[IgnoreParameter("NAME_YOUR_PARAMS")]
CGSize CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, int referenceSizeForHeaderInSection, string NAME_YOUR_PARAMS = "");
/// <summary>
/// Asks the delegate for the size of the footer view in the specified section.
/// </summary>
/// <param name="collectionView">The collection view object displaying the flow layout.</param>
/// <param name="layout">The layout object requesting the information.</param>
/// <param name="referenceSizeForFooterInSection">The index of the section whose footer size is being requested.</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("collectionView")]
//[Optional]
//[IgnoreParameter("NAME_YOUR_PARAMS")]
CGSize CollectionView(UICollectionView collectionView, UICollectionViewLayout layout, int referenceSizeForFooterInSection, double NAME_YOUR_PARAMS = 4.2);
}
}
|