Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Getting Started with SpreadsheetView

Getting Started with SpreadsheetView

#5.2 Creators Learning English Meetup for Mobile @ Oisix
https://clem.connpass.com/event/55548/

This slides are based on my talk at potatotips #40 the other day.

Satoshi Hachiya

May 29, 2017
Tweet

More Decks by Satoshi Hachiya

Other Decks in Programming

Transcript

  1. Satoshi Hachiya Twitter: @jpmartha_jp • Living in Kobe ⚓ •

    Developing an iOS app, Player! • Organizing international conferences, try! Swift Tokyo "& try! Swift NYC # • Talked at Brooklyn Swift Developers $
  2. Features (1/2) • Fixed column and row headers • Merge

    cells • Circular infinite scrolling automatically • Customize gridlines and borders for each cell https://github.com/kishikawakatsumi/SpreadsheetView/blob/ master/README.md
  3. Features (2/2) • Customize inter cell spacing vertically and horizontally

    • Fast scrolling, memory efficient • UICollectionView like API • Well unit tested https://github.com/kishikawakatsumi/SpreadsheetView/blob/ master/README.md
  4. UICollectionView like API func numberOfColumns(in spreadsheetView: SpreadsheetView) -> Int func

    numberOfRows(in spreadsheetView: SpreadsheetView) -> Int func spreadsheetView(_ spreadsheetView: SpreadsheetView, cellForItemAt indexPath: IndexPath) -> Cell?
  5. Merge cells example func mergedCells(in spreadsheetView: SpreadsheetView) -> [CellRange] {

    return [ CellRange(from: (row: 0, column: 1), to: (row: 0, column: 2)), CellRange(from: (row: 0, column: 3), to: (row: 0, column: 4)), CellRange(from: (row: 2, column: 0), to: (row: 13, column: 0)), CellRange(from: (row: 14, column: 0), to: (row: 25, column: 0)), CellRange(from: (row: 26, column: 0), to: (row: 37, column: 0)), CellRange(from: (row: 38, column: 0), to: (row: 49, column: 0)), CellRange(from: (row: 50, column: 0), to: (row: 61, column: 0)), CellRange(from: (row: 62, column: 0), to: (row: 73, column: 0)), CellRange(from: (row: 74, column: 0), to: (row: 85, column: 0)), CellRange(from: (row: 86, column: 0), to: (row: 97, column: 0)), CellRange(from: (row: 98, column: 0), to: (row: 109, column: 0)), CellRange(from: (row: 110, column: 0), to: (row: 121, column: 0)), CellRange(from: (row: 122, column: 0), to: (row: 133, column: 0)), CellRange(from: (row: 8, column: 1), to: (row: 22, column: 1)), CellRange(from: (row: 23, column: 1), to: (row: 25, column: 1)) ] }
  6. Repository Latest commit Fixed column and row headers Merge cells

    Star kishikawakatsumi /SpreadsheetView 2017 ✅ ✅ 1,532 stuffrabbit/ SwiftSpreadsheet 2017 ✅ 379 mutualmobile/ MMSpreadsheetV iew 2013 ✅ 171 darrarski/ DRCollectionView TableLayout-iOS 2015 ✅ 67 ʢResearched by !ʣ
  7. Appendix: My English Tips • Speak loudly • Tell the

    spelling if you cannot pronounce it correctly • Nobody expects non-native speaker to speak fluent English