MindView 1.0.3

MindView 1.0.3

‘Jowsing’ 维护。




MindView 1.0.3

  • jowsing

MindView

Version License Platform

示例

Screenshot ! 截图

编码

思维节点视图

您可以使用任何 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
    }
}

创建 MindView

    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 文件。