Grid
public class Grid<D> : ScrollView
Wrapper of UICollectionView An object that manages an ordered collection of data items and presents them using customizable layouts.
Example:
struct GridView: View {
@DataSource var dataSource: [Model] = [Model]()
@DataSource var headerDataSource: [Model] = [Model]()
@DataSource var footerDataSource: [Model] = [Model]()
var body: View {
Grid(data:$dataSource){ data in
Item(data)
}
.sectionHeader($headerDataSource) { data in
Header(data)
}
.sectionFooter($footerDataSource) { data in
Footer(data)
}
.cellSelected { (data, index) in
// Did Select item action
}
}
func appendData(data: Model) {
models.append(data)
$dataSource.apply()
}
}
-
Initializer
Grid { Item1() Item2() Item3() }Declaration
Swift
public convenience init(waterfall: Bool = false, @ArgoKitListBuilder content: @escaping () -> View) where D : ArgoKitNodeParameters
waterfallWhether the grid syle is waterfall.
contentThe content of the grid.
-
Initializer
Grid(data: $dataSource) { item in Item(item) }Declaration
Swift
public convenience init(waterfall: Bool = false, data: DataSource<DataList<D>>, @ArgoKitListBuilder itemContent: @escaping (D) -> View)Parameters
waterfallWhether the grid syle is waterfall.
dataThe data for populating the grid.
itemContentA view builder that creates the view for a single item of the grid.
-
Initializer
Grid(data: $sectionDataSource) { item in Item(item) }Declaration
Swift
public convenience init(waterfall:Bool = false, data: DataSource<SectionDataList<D>>, @ArgoKitListBuilder itemContent: @escaping (D) -> View)Parameters
waterfallWhether the grid syle is waterfall.
dataThe section data for populating the grid.
itemContentA view builder that creates the view for a single item of the grid.
-
The view that is displayed in the header of the specified section of the grid.
Declaration
Swift
@discardableResult public func sectionHeader(@ArgoKitListBuilder headerContent: @escaping () -> View) -> SelfParameters
headerContentA view builder that creates the view for section header.
Return Value
Self
-
The view that is displayed in the header of the specified section of the grid.
Declaration
Swift
@discardableResult public func sectionHeader(data: DataSource<DataList<D>>, @ArgoKitListBuilder headerContent: @escaping (D) -> View) -> SelfParameters
dataThe data for populating the section header.
headerContentA view builder that creates the view for section header.
Return Value
Self
-
The view that is displayed in the footer of the specified section of the grid.
Declaration
Swift
@discardableResult public func sectionFooter(@ArgoKitListBuilder footerContent: @escaping () -> View) -> SelfParameters
footerContentA view builder that creates the view for section footer.
Return Value
Self
-
The view that is displayed in the footer of the specified section of the grid.
Declaration
Swift
@discardableResult public func sectionFooter(data: DataSource<DataList<D>>, @ArgoKitListBuilder footerContent: @escaping (D) -> View) -> SelfParameters
dataThe data for populating the section footer.
footerContentA view builder that creates the view for section footer.
Return Value
Self
-
Sets a Boolean value that controls whether users enable move item.
Declaration
Swift
@discardableResult public func enableMoveItem(_ value: Bool) -> SelfParameters
valueA Boolean value that controls whether users enable move item.
Return Value
Self
-
Scrolls the grid contents until the specified item is visible.
Declaration
Swift
@discardableResult public func scrollToItem(indexPath: IndexPath, scrollposition: UICollectionView.ScrollPosition, animated: Bool) -> SelfParameters
indexPathThe index path of the item to scroll into view.
scrollpositionAn option that specifies where the item should be positioned when scrolling finishes. For a list of possible values, see UICollectionView.ScrollPosition.
animatedSpecify true to animate the scrolling behavior or false to adjust the scroll view’s visible content immediately.
Return Value
Self
-
Scrolls a specific area of the content so that it is visible in the receiver.
Declaration
Swift
@discardableResult public func scrollToItem(rect: CGRect, animated: Bool) -> SelfParameters
rectA rectangle defining an area of the content view. The rectangle should be in the coordinate space of the scroll view.
animatedtrue if the scrolling should be animated, false if it should be immediate.
Return Value
Self
-
Sets a Boolean value that indicates whether users can select items in the grid.
Declaration
Swift
@discardableResult public func allowsSelection(_ value: Bool) -> SelfParameters
valueA Boolean value that indicates whether users can select items in the grid.
Return Value
Self
-
Undocumented
Declaration
Swift
public func allowsSelection() -> Bool -
Sets a Boolean value that determines whether users can select more than one item in the grid.
Declaration
Swift
@discardableResult public func allowsMultipleSelection(_ value: Bool) -> SelfParameters
valueA Boolean value that determines whether users can select more than one item in the grid.
Return Value
Self
-
Undocumented
Declaration
Swift
public func allowsMultipleSelection() -> Bool -
Undocumented
Declaration
Swift
@discardableResult public func selectItem(at indexPath: IndexPath?, animated: Bool, scrollPosition: UICollectionView.ScrollPosition) -> Self -
Undocumented
Declaration
Swift
@discardableResult public func deselectItem(at indexPath: IndexPath, animated: Bool) -> Self -
Sets a Boolean value that determines whether the grid is in editing mode.
Declaration
Swift
@available(iOS 14.0, *) @discardableResult public func editing(_ value: Bool) -> SelfParameters
valueA Boolean value that determines whether the grid is in editing mode.
Return Value
Self
-
Undocumented
Declaration
Swift
public func isEditing() -> Bool -
Sets a Boolean value that determines whether bouncing always occurs when vertical scrolling reaches the end of the content.
Declaration
Swift
@discardableResult public func bounceVertical(_ value: Bool) -> SelfParameters
valueA Boolean value that determines whether bouncing always occurs when vertical scrolling reaches the end of the content.
Return Value
Self
-
Sets a Boolean value that determines whether bouncing always occurs when horizontal scrolling reaches the end of the content view.
Declaration
Swift
@discardableResult public func bounceHorizontal(_ value: Bool) -> SelfParameters
valueA Boolean value that determines whether bouncing always occurs when horizontal scrolling reaches the end of the content view.
Return Value
Self
-
To enable intra-app drags on iPhone, set this to YES. You can also force drags to be disabled for this collection view by setting this to NO. By default, For iPad this will return YES and iPhone will return NO.
Declaration
Swift
@discardableResult public func dragInteractionEnabled(_ value: Bool) -> SelfReturn Value
Self
-
Reordering cadence affects how easily reordering occurs while dragging around a reorder-capable drop destination. Default is UICollectionViewReorderingCadenceImmediate.
Declaration
Swift
@discardableResult public func reorderingCadence(_ value: Bool) -> SelfReturn Value
Self
-
Setshe cell’s background color.
Declaration
Swift
@discardableResult public func cellBackgroudColor(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> UIColor) -> SelfParameters
actionReturn Value
Self
-
Sets the action that handle the item at the specified index path was selected.
Declaration
Swift
@discardableResult public func cellItemWith(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> CGFloat) -> SelfParameters
actionThe action that handle the item at the specified index path was selected.
Return Value
Self
-
Sets the action that handle the item at the specified index path was selected.
Declaration
Swift
@discardableResult public func cellSelected(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the item at the specified index path was selected.
Return Value
Self
-
Sets the action that handle the item at the specified path was deselected.
Declaration
Swift
@discardableResult public func cellDeselected(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the item at the specified path was deselected.
Return Value
Self
-
Sets the action that handle the specified cell is about to be displayed in the grid.
Declaration
Swift
public func cellWillAppear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell is about to be displayed in the grid.
Return Value
Self
-
Sets the action that handle the specified cell was removed from the grid.
Declaration
Swift
public func cellDidDisappear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell was removed from the grid.
Return Value
Self
-
Sets the action that handle the specified header view is about to be displayed in the grid.
Declaration
Swift
public func headerWillAppear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell is about to be displayed in the grid.
Return Value
Self
-
Sets the action that handle the specified header view was removed from the grid.
Declaration
Swift
public func headerDidDisappear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell was removed from the grid.
Return Value
Self
-
Sets the action that handle the specified footer view is about to be displayed in the grid.
Declaration
Swift
public func footerWillAppear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell is about to be displayed in the grid.
Return Value
Self
-
Sets the action that handle the specified footer view was removed from the grid.
Declaration
Swift
public func footerDidDisappear(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Void) -> SelfParameters
actionThe action that handle the specified cell was removed from the grid.
Return Value
Self
-
Sets the action that handle the item at the specified index path was highlighted.
Declaration
Swift
public func cellDidHighlight(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> UIColor?) -> SelfParameters
actionThe action that handle the item at the specified index path was highlighted.
Return Value
Self
-
Sets the action that handle the highlight was removed from the item at the specified index path.
Declaration
Swift
public func cellDidUnhighlight(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> UIColor?) -> SelfParameters
actionThe action that handle the highlight was removed from the item at the specified index path.
Return Value
Self
-
Asks the delegate if an action menu should be displayed for the specified item.
Declaration
Swift
@available(iOS, introduced: 5.0, deprecated: 13.0) @discardableResult public func shouldShowMenu(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Bool) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Asks the delegate if it can perform the specified action on an item in the grid.
Declaration
Swift
@available(iOS, introduced: 5.0, deprecated: 13.0) @discardableResult public func canPerformAction(_ action: @escaping (_ action: Selector, _ data: D, _ indexPath: IndexPath, _ sender: Any?) -> Bool) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Sets the action that handle perform the specified action on an item in the grid.
Declaration
Swift
@available(iOS, introduced: 5.0, deprecated: 13.0) @discardableResult public func performAction(_ action: @escaping (_ action: Selector, _ data: D, _ indexPath: IndexPath, _ sender: Any?) -> Void) -> SelfParameters
actionThe action that handle perform the specified action on an item in the grid.
Return Value
Self
-
Asks the data source to return the titles for the index items to display for the grid.
Declaration
Swift
@discardableResult public func indexTitles(_ action: @escaping () -> [String]?) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Asks the data source to return the index path of a grid item that corresponds to one of your index entries.
Declaration
Swift
@discardableResult public func indexPathForIndexTitle(_ action: @escaping (_ title: String, _ index: Int) -> IndexPath) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Asks the delegate if it can perform the specified action on an item in the grid.
Declaration
Swift
@discardableResult public func itemsCancelPrefetching(_ action: @escaping (_ indexPaths: [IndexPath]) -> Void) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Sets the action that handle perform the specified action on an item in the grid.
Declaration
Swift
@discardableResult public func itemsPrefetch(_ action: @escaping (_ indexPaths: [IndexPath]) -> Void) -> SelfParameters
actionThe action that handle perform the specified action on an item in the grid.
Return Value
Self
-
Asks the delegate whether the cell at the specified index path is itself focusable.
Declaration
Swift
@discardableResult public func cellCanFocus(_ action: @escaping (_ data: D, _ indexPath: IndexPath) -> Bool) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Asks the delegate whether the focus update specified by the context is allowed to occur.
Declaration
Swift
@discardableResult public func shouldUpdateFocus(_ action: @escaping (_ context: UITableViewFocusUpdateContext) -> Bool) -> SelfParameters
actionResult of the ask.
Return Value
Self
-
Sets the action that handle a focus update specified by the context has just occurred.
Declaration
Swift
@discardableResult public func didUpdateFocus(_ action: @escaping (_ context: UITableViewFocusUpdateContext, _ coordinator: UIFocusAnimationCoordinator) -> Void) -> SelfParameters
actionThe action that handle a focus update specified by the context has just occurred.
Return Value
Self
-
Asks the delegate for the list’s index path for the preferred focused view.
Declaration
Swift
@discardableResult public func indexPathForPreferredFocusedView(_ action: @escaping () -> IndexPath?) -> SelfParameters
actionResult of the ask.
Return Value
Self
Grid Class Reference