Skip to content

A react-native component for using `UITableView` and `UICollectionView` in `react-native`.

Notifications You must be signed in to change notification settings

dominicstop/react-native-ios-list-view

Repository files navigation

react-native-ios-list-view

An experimental component for using UITableView (and eventually UIColletionView) in react-native.



Demo/Test Gifs + Description

Gif Description
TableViewTest02-01

TableViewTest02-02
Component: TableViewTest02Screen

Desc:
1️⃣. This gif shows a UITableView using react components for the cell content.

2️⃣. Shows using an "array of JS objects" prop as the UITableViewDataSource for the table view.

3️⃣ Shows re-ordering the UITableView rows via the the iOS 11+ drag & drop API (i.e. UITableViewDragDelegate, UITableViewDropDelegate).

4️⃣. Shows a UITableView with self-sizing cells.

5️⃣. Shows UITableView's cell re-use logic reusing the react components (i.e. the timer and counter state is preserved across rows, but the cell content changes).

TableViewTest03-01 Component: TableViewTest03Screen

Desc: This gif shows programmatically moving the UITableView rows up and down via calling a module command.
TableViewTest03-02

TableViewTest03-03
Component: TableViewTest03Screen

Desc:
1️⃣. This gif shows changing which API to use to re-order the rows (i.e. drag and drop interaction, and UItableView.isEditing mode).

2️⃣. Shows table row reordering via UITableView.isEditing mode + using the standard re-ordering control to drag and move the rows.

3️⃣. Shows table row reordering via UITableView.isEditing mode + using a custom react component for the re-ordering control (e.g. the color hex title container).

4️⃣. Shows table row reordering via the iOS 11+ drag and drop API (i.e. UITableViewDragDelegate, and UITableViewDropDelegate).


📝 Note: Reordering via UITableView.isEditing locks the row's x-axis (i.e. you can only move it up or down), while row re-ordering via the drag and drop API allows you to move it freely.

TableViewTest02-03

TableViewTest03-04
Component: TableViewTest02Screen

Desc: This gifs shows the TableView.shouldSetCellLoadingOnScrollToTop prop being set to true, and invoking scrolls to top when the status bar is pressed.

📝 Note: Since this gif has been made, some improvements to the cell re-use logic has been made, so the amount of time the "loading indicator" is shown has been reduced.



🚧⚠️ Re-Write WIP 🚧⚠️

This library is being re-written to support the new architecture. Please see this is issue for progress 😔

About

A react-native component for using `UITableView` and `UICollectionView` in `react-native`.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published