CocoaExpand 3.4.0.2

CocoaExpand 3.4.0.2

shang1219178163 维护。



CocoaExpand 3.4.0.2

  • 编者
  • shang1219178163

CocoaExpand

CI Status Version License Platform

用法

Swift

// custom CellView
class NSTableCellViewOne: NSTableCellView { ... }
// use
let cell = tableView.makeView(for: NSTableCellViewOne.self)

public extension NSTableView {
    /// makeView
    final func makeView<T: NSTableCellView>(for cellType: T.Type, identifier: String = String(describing: T.self), style: NSTableView.RowSizeStyle = .default) -> T {
        if let view: NSTableCellView = makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: identifier), owner: T.self) as? T {
            return view as! T;
        }
        let cellView = T.init()
        cellView.identifier = NSUserInterfaceItemIdentifier(rawValue: identifier);
        cellView.wantsLayer = true;
        return cellView;
    }
}

Objective-C 与 Swift

// custom CellView
class NSTableCellViewOne: NSTableCellView { ... }
// use
let cell = NSTableCellViewOne.makeView(tableView: tableView, identifier: identifier, owner: self)

@objc public extension NSTableCellView {

    /// 复用NSTableCellView
    static func makeView(tableView: NSTableView, identifier: String = String(describing: self), owner: Any) -> Self {
        if let view: NSTableCellView = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: identifier), owner: owner) as? NSTableCellView {
            return view as! Self;
        }
        let cellView = self.init()
        cellView.identifier = NSUserInterfaceItemIdentifier(rawValue: identifier);
        cellView.wantsLayer = true;
        return cellView;
    }
}

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录中运行 pod install

要求

s.osx.deployment_target = "10.12"
s.swift_version = "5.0"

安装

CocoaExpand 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'CocoaExpand'

作者

shang1219178163, [email protected]

许可

CocoaExpand 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。