YNExpandableCell alternatives and similar libraries
Based on the "UITableView" category.
Alternatively, view YNExpandableCell alternatives based on common mentions on social networks and blogs.
-
HGPlaceholders
Nice library to show placeholders and Empty States for any UITableView/UICollectionView in your project -
ReverseExtension
UITableView extension that enables the insertion of cells the from bottom of tableView. -
GridView
Reusable GridView with excellent performance and customization that can be time table, spreadsheet, paging and more. -
ExpandableCell
Fully refactored YNExapnadableCell with more concise, bug free. Easiest usage of expandable & collapsible cell for iOS. You can customize expandable UITableViewCell whatever you like. ExpandableCell is made because insertRows and deleteRows is hard to use. Just inheirt ExpandableDelegate -
DiffableDataSources
💾 A library for backporting UITableView/UICollectionViewDiffableDataSource. -
Hakuba
A new way to manage UITableView without the code of UITableViewDelegate and UITableViewDataSource. -
ExpyTableView
Make your table view expandable just by implementing one method. -
CollapsibleTableSectionViewController
A library to support collapsible sections in a table view. -
SwiftyComments
UITableView based component designed to display a hierarchy of expandable/foldable comments. -
SectionScrubber
A component to quickly scroll between collection view sections. -
SelectionList
Simple single-selection or multiple-selection checklist, based on UITableView. -
AZTableViewController
Elegant and easy way to integrate pagination with placeholder views. -
OKTableViewLiaison
Framework to help you better manage UITableViews -
CollapsibleTable
Collapsable table view sections with custom section header views. -
FDTextFieldTableViewCell
Adds a UITextField to the cell and places it correctly. -
CKTextFieldTableCell
UITableViewCell drop-in replacement with support of UITextField.
Get performance insights in less than 4 minutes
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of YNExpandableCell or a related project?
README
USE ExpandableCell. New version of this library.
YNExpandableCell
Updates
See CHANGELOG for details
Intoduction
Easiest usage of expandable & collapsible cell for iOS, written in Swift 4.2 You can customize expandable UITableViewCell
whatever you like. YNExpandableCell
is made because insertRows
and deleteRows
is hard to use. You can just inheirt YNTableViewDelegate
and add one more method func tableView(_ tableView: YNTableView, expandCellAt indexPath) -> UITableViewCell?
[demo](Images/demo.gif)
Requirements
YNExpandableCell
written in Swift 3. Compatible with iOS 8.0+
Installation
Cocoapods
YNExpandableCell is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'YNExpandableCell'
Carthage
github "younatics/YNExpandableCell"
Usage
import YNExpandableCell
Make YNTableView
in Storyboard or in code
@IBOutlet var ynTableView: YNTableView!
Inherit YNTableViewDelegate
class ViewController: UIViewController, YNTableViewDelegate
Set delegate and register cells
self.ynTableView.ynDelegate = self
let cells = ["YNExpandableCellEx","YNSliderCell","YNSegmentCell"]
self.ynTableView.registerCellsWith(nibNames: cells, and: cells)
self.ynTableView.registerCellsWith(cells: [UITableViewCell.self as AnyClass], and: ["YNNonExpandableCell"])
Use one of required method
Set expandable cell in YNTableViewDelegate
method (Required)
func tableView(_ tableView: YNTableView, expandCellAt indexPath: IndexPath) -> UITableViewCell? {
let ynSliderCell = tableView.dequeueReusableCell(withIdentifier: YNSliderCell.ID) as! YNSliderCell
if indexPath.section == 0 && indexPath.row == 1 {
return ynSliderCell
}
return nil
}
Set expandable cell with height in YNTableViewDelegate
method using YNTableViewCell
object (Required)
func tableView(_ tableView: YNTableView, expandCellWithHeightAt indexPath: IndexPath) -> YNTableViewCell? {
let ynSliderCell = YNTableViewCell()
ynSliderCell.cell = tableView.dequeueReusableCell(withIdentifier: YNSliderCell.ID) as! YNSliderCell
ynSliderCell.height = 142
if indexPath.section == 0 && indexPath.row == 1 {
return ynSliderCell
}
return nil
}
Get didSelectRowAt in YNTableViewDelegate
method (Optional)
func tableView(_ tableView: YNTableView, didSelectRowAt indexPath: IndexPath, isExpandableCell: Bool, isExpandedCell: Bool) {
print("Selected Section: \(indexPath.section) Row: \(indexPath.row) isExpandableCell: \(isExpandableCell) isExpandedCell: \(isExpandedCell)")
}
Get didDeselectRowAt in YNTableViewDelegate
method (Optional)
func tableView(_ tableView: YNTableView, didDeselectRowAt indexPath: IndexPath, isExpandableCell: Bool, isExpandedCell: Bool) {
print("Deselected Section: \(indexPath.section) Row: \(indexPath.row) isExpandableCell: \(isExpandableCell) isExpandedCell: \(isExpandedCell)")
}
Set basic UITableViewDataSource
, UITableViewDelegate
and Done!
Customize
Expand & Collapse All if you want
self.ynTableView.expandAll()
self.ynTableView.collapseAll()
Inherit YNExpandableCell
if you want awesome '+' '-' custom accessory type
class YNExpandableCellEx: YNExpandableCell
// Change normalCustomAccessoryType, selectedCustomAccessoryType Images
Cutomize UITableViewRowAnimation
self.ynTableView.ynTableViewRowAnimation = UITableViewRowAnimation.top
Make Extensions for more UITableViewDelegate
if you need or make pull request for me :)
References
Please tell me or make pull request if you use this library in your application :)
@zigbang
MotionBook
Author
License
YNExpandableCell is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the YNExpandableCell README section above
are relevant to that project's source code only.