All Projects → shaps80 → Imessagestylereveal

shaps80 / Imessagestylereveal

Licence: mit
Adds iMessage style timestamp support. Written in Swift!

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Imessagestylereveal

Datasource
Simplifies the setup of UITableView data sources using type-safe descriptors for cells and sections. Animated diffing built-in.
Stars: ✭ 72 (-47.83%)
Mutual labels:  uitableview
Quanta
high-speed timing library in Rust
Stars: ✭ 104 (-24.64%)
Mutual labels:  timestamp
Stdtableview
STDTableView 是基于 UITableView 的封装,实现了一套 High Level 的 API,提供了更简洁的构建及使用方法。
Stars: ✭ 123 (-10.87%)
Mutual labels:  uitableview
Tcpickerview
Picker view popup with multiply rows selection written in Swift
Stars: ✭ 84 (-39.13%)
Mutual labels:  uitableview
Snow Stamp
Get the timestamp from a Discord snowflake ❄
Stars: ✭ 95 (-31.16%)
Mutual labels:  timestamp
Tdbadgedcell
TDBadgedCell is a table view cell class that adds a badge, similar to the badges in Apple's own apps
Stars: ✭ 1,444 (+946.38%)
Mutual labels:  uitableview
Mdl11 generics
Example project that was demonstrated on MDL #11 meetup - https://www.youtube.com/watch?v=A4FrEyFBjVA. Medium article - https://medium.com/chili-labs/configuring-multiple-cells-with-generics-in-swift-dcd5e209ba16
Stars: ✭ 50 (-63.77%)
Mutual labels:  uitableview
Pbtreeview
An UITreeView implementation from UITableView that Apple missed in its UIKit framework. And it is in pure Swift.
Stars: ✭ 128 (-7.25%)
Mutual labels:  uitableview
Sjstatictableview
基于MVVM,用于快速搭建设置页,个人信息页表格等静态表格的框架
Stars: ✭ 101 (-26.81%)
Mutual labels:  uitableview
Gskstretchyheaderview
A generic stretchy header for UITableView and UICollectionView
Stars: ✭ 1,624 (+1076.81%)
Mutual labels:  uitableview
Tablemanager
An extension of UITableView. The way it should be. 👍
Stars: ✭ 85 (-38.41%)
Mutual labels:  uitableview
Selectionlist
Simple single-selection or multiple-selection checklist, based on UITableView
Stars: ✭ 93 (-32.61%)
Mutual labels:  uitableview
Skeletonview
☠️ An elegant way to show users that something is happening and also prepare them to which contents they are awaiting
Stars: ✭ 10,804 (+7728.99%)
Mutual labels:  uitableview
Ptehorizontaltableview
Horizontal UITableView inspired by EasyTableView.
Stars: ✭ 75 (-45.65%)
Mutual labels:  uitableview
Reverseextension
A UITableView extension that enables cell insertion from the bottom of a table view.
Stars: ✭ 1,631 (+1081.88%)
Mutual labels:  uitableview
Xui
A drop-in replacement for iOS Settings Bundle "Settings.bundle".
Stars: ✭ 60 (-56.52%)
Mutual labels:  uitableview
Time Stamp
Get a formatted timestamp. Used in gulp, assemble, generate, and many others.
Stars: ✭ 104 (-24.64%)
Mutual labels:  timestamp
Closures
Swifty closures for UIKit and Foundation
Stars: ✭ 1,720 (+1146.38%)
Mutual labels:  uitableview
Genericdatasource
A generic small reusable components for data source implementation for UITableView/UICollectionView in Swift.
Stars: ✭ 127 (-7.97%)
Mutual labels:  uitableview
Prefsmate
🐣 Elegant UITableView generator for Swift.
Stars: ✭ 120 (-13.04%)
Mutual labels:  uitableview

Purpose

I recently needed to build the iMessage style pull-to-reveal timestamps feature for a personal project and decided to open source the implementation.

Installation

Simply add the following to your Podfile:

Latest release uses Swift 5: pod RevealableCell

If you need Swift 2.2: pod 'RevealableCell', '1.1'

If you need Swift 3.0: pod 'RevealableCell', '2.0'


Then add the following import at the top of your source file(s):

Swift import RevealableCell Obj-C @import RevealableCell

Usage

In order to use RevealableCell in your application, follow the steps below:

  1. Your cell must be a subclass of RevealableTableViewCell

  2. You must register a nib or a RevealableView subclass using:

    tableView.registerNib(nib, forRevealableViewReuseIdentifier: "identifier") or tableView.registerClass(revealableViewClass, forRevealableViewReuseIdentifier: "identifier")

  3. In cellForRowAtIndexPath you can dequeue and configure an instance using:

    if let view = tableView.dequeueReusableRevealableViewWithIdentifier("identifier") as? MyRevealableView {
      view.titleLabel.text = "" // configure
      cell.setRevealableView(view, style: .Slide, direction: .Left)
    }
    

This new implementation, provides reusable views of the same type as well as allowing you to have different styles or directions for individual cells.

Run this project, to see a demo similar to the iMessage app on your iOS device.

Additional Info

RevealableViews also support AutoLayout now, so if you've setup your constraints correctly, the views will auto-size their widths (per cell) for you. However, you can also specify a fixed width for each cell using

cell.revealableView.width = 100

Note: The height will always be the same as the cell and the position is based on the .style of the RevealableView

Feel free to use in any way you see fit. Please try and reference me somewhere in your app if you use this in a production app and maybe even tell me about it via Twitter @shaps ;)

Screenshot

Supported OS & SDK Versions

  • Supported build target - iOS 8.0
  • Earliest supported deployment target - iOS 8.0
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].