TimelineTableViewCell
  • October 6, 2023

TimelineTableViewCell is a simple timeline view implemented by UITableViewCell. The UI design of TimelineTableViewCell is inspired by ISTimeline.

Requirements


  • iOS 9.0 or higher

v1.0.1-

  • Swift 3

v1.2-

  • Swift 4

v1.3

  • Swift 5

v2.0+

  • Breaking Changes for v1.3-: thumbnailImageView is replaced with UIStackView to support multiple thumbnails.
  • Do not support iOS9.0- anymore.

 

Installation


Swift Package Manager

The Swift Package Manager is a tool for automating the distribution of Swift code and is integrated into the swift compiler.

Once you have your Swift package set up, adding TimelineTableViewCell as a dependency is as easy as adding it to the dependencies value of your Package.swift.

dependencies: [
.package(url: “https://github.com/kf99916/TimelineTableViewCell.git”)
]

CocoaPods

CocoaPods  is a dependency manager for Cocoa projects. For usage and installation instructions, visit their website. To integrate TimelineTableViewCell into your Xcode project using CocoaPods, specify it in your Podfile:

pod ‘TimelineTableViewCell’

Usage


Import

import TimelineTableViewCell

Integration

Register Nib

let bundle = Bundle(for: TimelineTableViewCell.self)
let nibUrl = bundle.url(forResource: “TimelineTableViewCell”, withExtension: “bundle”)
let timelineTableViewCellNib = UINib(nibName: “TimelineTableViewCell”,
bundle: Bundle(url: nibUrl!)!)
tableView.register(timelineTableViewCellNib, forCellReuseIdentifier: “TimelineTableViewCell”)

Dequeue

let cell = tableView.dequeueReusableCell(withIdentifier: “TimelineTableViewCell”,
for: indexPath) as! TimelineTableViewCell

// Configure TimelineTableViewCell…

TimelinePoint

The point in line is represented by a TimelinePoint object.
var diameter: CGFloat the diameter of a point in the line (default 6.0)
var lineWidth: CGFloat the thickness of the point (default 2.0)
var color: UIColor the color of each point in the line (default UIColor.black)
var isFilled: Bool fills the point in the line (default false)

Initializers

TimelinePoint(diameter: CGFloat, lineWidth: CGFloat, color: UIColor, filled: Bool)

TimelinePoint(diameter: CGFloat, color: UIColor, filled: Bool)

TimelinePoint(color: UIColor, filled: Bool)

TimelinePoint()

Timeline

The line in the cell is represented by a Timeline object and is divided by the point as the front line and the backline.
var width: CGFloat the thickness of the line (default 2.0)
var frontColor: UIColor the color of the front line (defalut UIColor.black)
var backColor: UIColor the color of the back line (defalut UIColor.black)
var leftMargin: CGFloat the left margin of the line (default 60.0)

initializers

Timeline(width: CGFloat, frontColor: UIColor, backColor: UIColor)

Timeline(frontColor: UIColor, backColor: UIColor)

Timeline()

TimelineTableViewCell

The cell is represented by a TimelineTableViewCell object.
titleLabel: UILabel! the title in the bubble
descriptionLabel: UILabel! the description
lineInfoLabel: UILabel! the information about line
thumbnailImageView: UIImageView! the thumbnail illustrationImageView: UIImageView! the illustration
var bubbleRadius: CGFloat the radius of the bubble corners (default 2.0)
var bubbleColor: UIColor the color of every bubble (default .init(red: 0.75, green: 0.75, blue: 0.75, alpha: 1.0)viewsInStackView: [UIView] the views in the stack view. var bubbleEnabled: Bool Enable draw bubble (default true)

Apps using TimelineTableViewCell


If you are using TimelineTableViewCell in your app and want to be listed here, simply create a pull request.

I am always curious who is using my projects 🙂

Hikingbook – by Zheng-Xiang Ke

Demo


TimelineTableViewCellDemo is a simple demo app which shows the usage of TimelineTableViewCell in a storyboard.

GitHub


View Github

#cocoapods #swift #timeline #uitableviewcell
YOU MIGHT ALSO LIKE...
ConfettiView

A SwiftUI View that emits confetti with user-defined shapes, images, and text.

SwiftUI Colour Wheel

A colour wheel made all in SwiftUI. There are 2 different colour wheels to choose from. The first main one ...

ColorPickerRing

A color picker implementation with color wheel appearance written in plain SwiftUI. It is compatible with UIColor and NSColor.

ASCollectionView

This repository is no longer maintained. Here's why: with the release of iOS 16 SwiftUI now enables most of the ...