NSTableView 中的 NSTextField 会截断日期
NSTextField in an NSTableView truncates Dates
我有一个 NSTableView(视图类型,而不是单元格类型),它导致文本末尾带有“...”。当我调整列的大小时,“...”并没有消失,表明正在其他地方设置大小...但我不确定在哪里。
下面是 table 的样子:
当我把它变大时,文本仍然被截断:
如果我取出“.ByClipping”,我会得到:
这是制作单元格的代码:
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
let identifier = tableColumn!.identifier
let networkName = displayedNetworks[row]
let networkVals = model.networks[networkName]!
if let val: AnyObject = networkVals[identifier] {
var obj = tableView.makeViewWithIdentifier(identifier, owner:self)
if (obj==nil) {
// No existing cell to reuse, so make a new one
obj = NSTableCellView(frame:NSMakeRect(0,0,400,400))
obj!.identifier = identifier
}
let cellView = obj as! NSTableCellView
if let d = val as? NSDate {
let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.ShortStyle
formatter.timeStyle = .ShortStyle
cellView.textField!.stringValue = formatter.stringFromDate(d)+"****"
cellView.textField!.lineBreakMode = .ByClipping
}
else {
cellView.textField!.stringValue = "\(val)"
}
return cellView
}
return nil
}
出了点问题,但我想不通。我认为调整列的大小会调整包含的单元格的大小。我的不是。这只发生在显示日期的单元格上。我该怎么办?
例如,您可以 select 您 Table 在 IB 中查看单元格,然后单击那个按钮 "Resolve Auto Layuout Issues",它就在左下角弹出窗口和 "Add Missing Constraints" 下方。
我有一个 NSTableView(视图类型,而不是单元格类型),它导致文本末尾带有“...”。当我调整列的大小时,“...”并没有消失,表明正在其他地方设置大小...但我不确定在哪里。
下面是 table 的样子:
当我把它变大时,文本仍然被截断:
如果我取出“.ByClipping”,我会得到:
这是制作单元格的代码:
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
let identifier = tableColumn!.identifier
let networkName = displayedNetworks[row]
let networkVals = model.networks[networkName]!
if let val: AnyObject = networkVals[identifier] {
var obj = tableView.makeViewWithIdentifier(identifier, owner:self)
if (obj==nil) {
// No existing cell to reuse, so make a new one
obj = NSTableCellView(frame:NSMakeRect(0,0,400,400))
obj!.identifier = identifier
}
let cellView = obj as! NSTableCellView
if let d = val as? NSDate {
let formatter = NSDateFormatter()
formatter.dateStyle = NSDateFormatterStyle.ShortStyle
formatter.timeStyle = .ShortStyle
cellView.textField!.stringValue = formatter.stringFromDate(d)+"****"
cellView.textField!.lineBreakMode = .ByClipping
}
else {
cellView.textField!.stringValue = "\(val)"
}
return cellView
}
return nil
}
出了点问题,但我想不通。我认为调整列的大小会调整包含的单元格的大小。我的不是。这只发生在显示日期的单元格上。我该怎么办?
例如,您可以 select 您 Table 在 IB 中查看单元格,然后单击那个按钮 "Resolve Auto Layuout Issues",它就在左下角弹出窗口和 "Add Missing Constraints" 下方。