0 rating
  • 1
  • 2
  • 3
  • 4
  • 5
Compatible with
  • iOS

ShinobiGrids Standard 2.6.1


The iOS version of this component supports the classic 32-bit iOS API only. Learn More

Make tabular data presentation a breeze for iOS apps. ShinobiGrids maintains high levels of interactivity and performance in the face of really big data sets.

If you’re building an iOS app and want a quick and efficient way to organize data, you’ve found it. ShinobiGrids presents your data in fully customizable, interactive grids straight out of the box.

Handling thousands of cells in real time.

Handles 250,000+ cells in real time - it doesn’t matter what you want to put in each cell – text, numbers, dates or complex UI controls - ShinobiGrids can do them all. Pan across thousands of columns and rows – it’s super-fast. Let your users quickly get to the data they’re interested in.

An extensive range of grid types.

ShinobiGrids comes with pre-configured cell types for text, numbers and currency. If you have custom needs, make your own and just slot it in! Freeze rows to create column or row headers, add collapsible sections and style cells, cell borders and colors - the grids you need, the way you want them.

Fully extensible API for customizing layout.

Our API is clear, logical and well-documented, so you can get started quickly, and easily customize any aspect of design or interactivity. The ShinobiGrids API models itself on Apple’s own APIs, so developers familiar with iOS will have no trouble getting started - just pick it up and plug it in!

Provide your users with the high-quality touch experience they expect from iOS apps with no fuss. Pan, resize, drag-and-drop... ShinobiGrids responds to touch gestures, the way you’d expect. It really is playtime for data!

Release Notes

2.6.0 - 2.6.1 (13-May-2014)


  • Creates a Grids version of the Pull to Action control. This wraps the control which is taken from ShinobiEssentials, and ensures that ShinobiEssentials symbols are not exposed publicly from the ShinobiGrids library. This fixes linker issues which were being seen in the Xamarin cross platform environment.

2.5.4.ea1 - 2.6.0 (01-Apr-2014)


  • Added a utility class, ShinobiGrids, that allows the developer to set the licenseKey for all of their Grids centrally.


  • Added the Pull to Action control from ShinobiEssentials, and a small section in the user guide.

ShinobiGrid & ShinobiDataGrid

  • Added the ability to programmatically pan diagonally.
  • Improve section collapse/expand speed by ignoring double taps.
  • Fixed cell borders changing colour while scrolling.
  • Fixed -isDragging and -isTracking properties inherited by the grid from the scrollview.
  • Fixed the grid retaining its delegate.
  • Deprecates the licenseKey property on grids and data grids. Now, if you are using a trial version and you want to set the license key, you call [ShinobiDataGrids setLicenseKey:] for data grids, and [ShinobiGrids setLicenseKey:] for grids.

2.5.3 - 2.5.4.ea1 (7th-Feb-2014)

ShinobiGrid & ShinobiDataGrid

  • Fixed issue where setting a large contentOffset loads every column/row in between the new and old offset causing it to lag.

2.5.2 - 2.5.3 (17th-Dec-2013)


  • Fixed issue where reloading a grid with one section to contain multiple sections, would permanently keep section headers hidden.
  • Fixed issue whereby text would not clear from a cell when it was prepared to be reused.


  • Fixed issue whereby a subclass of SDataGridCell would not respond correctly to respondsToSelector:.
  • Fixed issue whereby respondToEditEvent & respondToSelectionEvent weren't called for SDataGridCell subclasses.
  • Fixed issue where grid would crash when manually reloaded from the –shinobiDataGrid:didFinishEditingCellAtCoordinate: delegate method.
  • Fixed issue whereby the content inset would disappear when a row was deselected.

ShinobiGrid & ShinobiDataGrid

  • Fixed issue whereby reloading the grid with a different number of sections would cause gaps to appear in the grid.
  • Fixed issue whereby header row shadows would flicker when a cell was edited.
  • Fixed issue whereby cells would not reload when a keyboard disappeared after an editing event.
  • Fixed issue whereby visual artefacts would appear when section headers were hidden.
  • Fixed issue whereby the grid would stop panning after returning NO from the 'shouldCollapse' delegate method.

2.5.1 - 2.5.2 (17-Oct-2013)


  • Removed permanent border around DataGrid.
  • Removed issue where header row would permanently disappear when keyboard appears for editing.

2.5.0 - 2.5.1 (19-Sep-2013)

  • Adds arm64 support (includes changes to primitive parameter types to accommodate 32bit - 64bit compatibility)
  • Changes minimum supported version to iOS6 (mandated by arm64 slice inclusion) - see version 2.5.0 for < iOS6
  • Fixes theming bug where cells could message deallocated grid
  • Fixes bug where sort order arrows did not appear in newly visible cells
  • NOTE: Xamarin bindings do not contain a 64-bit slice. This will be made available as soon as Xamarin provide the tooling

2.0.1 - 2.5.0 (11-Sep-2013)

In the latest release of our ShinobiControls, we have taken the opportunity to bring our products into line with each other, and to update our release process. Any future major releases will include all of our products, rather than having separate releases for individual products. The Shinobi Suite is currently at version 2.5.0, so we have updated all of our products to have this version number.

We will continue to have incremental bug-fix releases of individual products, these will increment the micro version number on that product.


  • Added iOS7 theme which the DataGrid now defaults to on iOS7 devices.
  • Developers can now create and modify SDataGridTheme objects and apply themes to their DataGrid using the applyTheme:.
  • Added a utility class, ShinobiDataGrids, that allows the developer to set the theme and licenseKey for all of their DataGrids centrally.
  • The property defaultAlternatingRowStyle on SDataGridTheme was renamed to defaultAlternateRowStyle.

ShinobiGrid & ShinobiDataGrid

  • Removed some old assets from the framework that were no longer being used.
  • Fixed some issues whereby storyboards would inset all of the grid's subviews.
  • Fixed an issue whereby an application would crash during rotation when certain auto layout constraints were placed on a grid.

2.0.0 - 2.0.1 (16-Aug-2013)


  • Added SDataGridHeaderMultiLineCell to give support for multi-line textual header cells.
  • Fixed issue with header cell indentation and cell reuse where some header cells had their text truncated.
  • A property has been added to allow the removal of the default border applied to the DataGrid. A custom border can be added by manipulating the border applied to the CALayer & setting the content inset on the grid.
  • Bug fixed whereby incorrect text alignment was applied to selected SDataGridTextInputCells if no text alignment had been set.
  • Fixed bug whereby SDataGridTextInputCells had unequal horizontal positioning.
  • A gradient property is now available on SDataGridSectionHeaderStyle.
  • Fixed issue which caused the grid to crash when the defaultCellStyleForSelectedRows was nil and a cell was selected.
  • Fixed issue which caused the grid to resize the column left of the a resized column to its minimum width.

ShinobiGrid & ShinobiDataGrid

  • Fixed issue whereby section header styles were not being properly applied.
  • Fixed issue where SDataGridGradients & SGridGradients were not auto-calculating their gradient locations when given a nil locations array.
  • Changed the Z order of the vertically frozen rows to be above the Z order of the horizontally frozen columns to reverse regression from a previous release.
  • Fixed issue where newly initialised section header styles were causing section headers to disappear (as they have a nil height value).
  • Fixed issue where a grid reload + style change caused a previously selected cell to revert back to its pre-reload style.
  • Bug fixed whereby grid loaded all rows above the first visible row to calculate the current offset unnecessarily. The grid now loads only the visible rows.
  • Fixed issue where selected cell coordinates were not updated after row/column reordering.

1.1.2 - 2.0.0 (22-Apr-2013)

This is no ordinary release, we've made a lot of changes to the grid API - most notably adding the data-grid. Whilst the grid has been improved and benefited from these latest changes, we recommend moving to the new ShinobiDataGrid.


  • Major documentation improvements including a comprehensive user guide
  • Extensive set of new samples
  • Brand new improved column centric API
  • A header row by default
  • Improved look with three new themes: iOS, Light, Dark.
  • A dataSource helper to simplify getting data into the data-grid
  • Better support for sorting, including a lightweight sorting API
  • All of the ShinobiGrid changes too


  • Improved 'selection mode' support

    • Addition of multiple cell selection mode
    • Addition of single row selection mode
    • Addition of multi row selection mode
    • Addition of API to support programmatic row selection/deselection
  • More variety of delegate notifications/callbacks:

    • Section collapse/expand now have 'should' variants
    • Addition of shinobiGrid:alterStyle:beforeApplyingToCellAtCoord:
    • Addition of methods relating to row selection notifications
    • Addition of shinobiGrid:permittedDragDirectionForCellAtCoord: so that drag and drop decision can be controlled on cell by cell basis
    • More row/col reordering notification methods ('gesture complete' notifications)
  • Improved styling hierarchy and graphics:

    • Ability to alpha blend the style layers
    • Cell styles now have support for background colour gradients
    • Drop shadows
  • Grid tinting during drag and drop (customisable colour)

  • Deprecated (and new) methods for freezing rows/cols

  • Deprecated (and new) methods for enabling selection and editing:

    • this adds the ability for users to choose the gesture that selects or edits
  • Addition of a strict directional lock

  • Deprecation (and addition of new method) for allowing row and column dragging/reordering.

  • Improved reload API:

    • Added methods to allow finer-grained reloading of individual rows and/or columns
    • Added methods to allow redrawing (re-styling without querying datasource) or cols/rows
  • Addition of multiline text cells

  • Memory fixes:

    • Internal component of grid no longer has strong reference to delegate/datasource
    • Various leak fixes
  • Addition of contentFrame to help populate cells inside borders

Write a Review

2 reviews

aPPy Days

Is there a location where I can download the previous version releases?

Posted on: May 29, 2014 / Version: 2.6.1
Jonny Fox

Could you publish here the new version available on Shinobi web site (vers. 2.5.1)?

Posted on: April 3, 2014 / Version: 2.0.0