! 截图
您可以使用任何 UIKit 视图
class NodeView: UILabel, MindNodable {
typealias Model = String
func configure(_ model: String) {
self.text = model
self.textColor = .systemRed
self.font = .systemFont(ofSize: 17)
}
func nodeWidthThatFits(_ nodeHeight: CGFloat) -> CGFloat {
return sizeThatFits(.init(width: .greatestFiniteMagnitude, height: nodeHeight)).width
}
}
let configuration = MindConfiguration(contentInserts: .init(top: 0, left: 30, bottom: 0, right: 30))
let mindView = MindView(configuration: configuration)
let node = MindNode(id: 1, nodeClass: NodeView.self, model: "中心主题", subNodes: [
MindNode(id: 2, nodeClass: NodeView.self, model: "会议纪要", subNodes: [
MindNode(id: 3, nodeClass: NodeView.self, model: "纪要1", subNodes: []),
MindNode(id: 4, nodeClass: NodeView.self, model: "会纪要2", subNodes: []),
MindNode(id: 5, nodeClass: NodeView.self, model: "会议纪dddd要3", subNodes: []),
MindNode(id: 6, nodeClass: NodeView.self, model: "会议", subNodes: []),
]),
MindNode(id: 100, nodeClass: NodeView.self, model: "会议纪要", subNodes: [
MindNode(id: 101, nodeClass: NodeView.self, model: "纪要1", subNodes: []),
]),
MindNode(id: 7, nodeClass: NodeView.self, model: "会议纪要", subNodes: [
MindNode(id: 8, nodeClass: NodeView.self, model: "纪要1", subNodes: []),
MindNode(id: 9, nodeClass: NodeView.self, model: "会纪要2", subNodes: []),
MindNode(id: 10, nodeClass: NodeView.self, model: "会议纪dddd要3", subNodes: []),
]),
MindNode(id: 11, nodeClass: NodeView.self, model: "会议纪要", subNodes: [
MindNode(id: 12, nodeClass: NodeView.self, model: "纪要1", subNodes: []),
MindNode(id: 13, nodeClass: NodeView.self, model: "会纪要2", subNodes: []),
]),
MindNode(id: 14, nodeClass: NodeView.self, model: "会议纪要", subNodes: [
MindNode(id: 15, nodeClass: NodeView.self, model: "纪要1", subNodes: []),
MindNode(id: 16, nodeClass: NodeView.self, model: "会纪要2", subNodes: []),
MindNode(id: 17, nodeClass: NodeView.self, model: "会议纪dddd要3", subNodes: []),
]),
])
mindView.setup(root: node)
要运行示例项目,克隆仓库,然后首先从示例目录运行 pod install
MindView 可通过 CocoaPods 获取。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'MindView'
jowsing, [email protected]
MindView 采用 MIT 许可证。有关更多信息,请参阅 LICENSE 文件。