class FolderListViewController: UIViewController {
private let folderView = FolderListView<FolderListViewController>()
// ...
}
struct Element: FolderElementConstructable {
let id: Int
let element: Int
let parentIdentifier: Int
let rank: Int
static let invisableRootIdentifier = -1
}
extension FolderListViewController: FolderListViewDelegate {
var elements: [Element] {
[
.init(id: 0, element: 0, parentIdentifier: -1, rank: 0),
.init(id: 1, element: 1, parentIdentifier: 0, rank: 0),
.init(id: 11, element: 11, parentIdentifier: 1, rank: 0),
// ...
]
}
func folderListView(didSelected element: FolderElement<Element>, of cell: Cell) {
switch element {
case .normal:
// ...
case .folder:
// ...
}
}
var itemHeight: CGFloat { 60 }
}
class Cell: UIView, FolderListCellViewType {
// ....
}
Xcode >= 12.0 or Swift >= 5.3.
In your Package.swift
:
package.dependencies.append(
.package(url: "https://github.com/royit/tree.git", from: "0.1.0")
)
Moya is released under an MIT license. See License.md for more information.