✨Listed 5th at trending open source and 11th at trending developer in Github Swift category [03/20/2017]
See CHANGELOG for details
Easiest usage of expandable & collapsible cell for iOS, written in Swift 3. 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?
YNExpandableCell
written in Swift 3. Compatible with iOS 8.0+
YNDropDownMenu is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'YNExpandableCell'
github "younatics/YNExpandableCell"
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"])
Set expandable cell in YNTableViewDelegate
method
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
}
Get didSelectRowAt in YNTableViewDelegate
method
public func tableView(_ tableView: YNTableView, didSelectRowAt indexPath: IndexPath, isExpandedCell: Bool) {
print("Selected Section: \(indexPath.section) Row: \(indexPath.row) isExpandedCell: \(isExpandedCell)")
}
Set basic UITableViewDataSource
, UITableViewDelegate
and Done!
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 :)
YNExpandableCell is available under the MIT license. See the LICENSE file for more info.