【发布时间】:2020-03-30 03:11:51
【问题描述】:
我有 NSTableView。如果“行大小样式:自定义”(或小等):
但如果“行大小样式:自动”(我想要动态调整行高大小)
创建单元格代码:
extension ViewController: NSTableViewDelegate {
func tableView(_ tableView: NSTableView, viewFor tableColumn: NSTableColumn?, row: Int) -> NSView? {
let currentOption = options[row] //options is Array of dictionaries
if tableColumn?.identifier == NSUserInterfaceItemIdentifier(rawValue: "short") {
let cellIdentifier = NSUserInterfaceItemIdentifier(rawValue: "shortCell")
guard let cellView = tableView.makeView(withIdentifier: cellIdentifier, owner: self) as? NSTableCellView else { return nil }
cellView.textField?.stringValue = currentOption["short"]!
print(cellView.fittingSize.height)
return cellView
} else if tableColumn?.identifier == NSUserInterfaceItemIdentifier(rawValue: "long") {
let cellIdentifier = NSUserInterfaceItemIdentifier(rawValue: "longCell")
guard let cellView = tableView.makeView(withIdentifier: cellIdentifier, owner: self) as? NSTableCellView else { return nil }
cellView.textField?.stringValue = currentOption["long"]!
return cellView
}
return nil
}
}
【问题讨论】:
标签: swift xcode macos nstableview