我有基于视图的NSTableView,有2个文本列。
第一列使用自定义NSTextFieldCell。第二列使用默认单元格。
这是自定义单元格代码:
db.collection('shifts').aggregate([
{
"$match": {
"jobId": ObjectId(job._id),
"from": { "$gte": new Date() }
}
},
{
"$project": {
"hourlyRate": {
"$cond": [
{
"$not": {
"$setIsSubset": [
[{ "$dayOfWeek": "$from" }],
[1, 7]
]
}
}, 20,
{
"$cond": [
{ "$eq": [
{ "$dayOfWeek": "$from" },
7
] },
25,
{
"$cond": [
{ "$eq": [
{ "$dayOfWeek": "$from" },
1
] },
30,
"$hourlyRate"
]
}
]
}
]
}
}
}
], function(err, docs) {
var ops = [],
counter = 0;
docs.forEach(function(doc) {
ops.push({
"updateOne": {
"filter": { "_id": doc._id },
"update": { "$set": { "hourlyRate": doc.hourlyRate } }
}
});
counter++;
if (counter % 500 === 0) {
db.collection('shifts').bulkWrite(ops, function(err, r) {
// do something with result
});
ops = [];
}
})
if (counter % 500 !== 0) {
db.collection('shifts').bulkWrite(ops, function(err, r) {
// do something with result
}
}
})
自定义(第一)列中的文本字段看起来有所不同(更薄?)。 这是screenshot(Sierra)。
不确定发生了什么,可能是自定义实现使用不同的抗锯齿设置。
我在那里错过了什么?提前谢谢。
编辑:提到基于视图的NSTableView
答案 0 :(得分:1)
看起来该错误今天仍然存在。覆盖pd.read_csv()
或NSTextField.draw(_ dirtyRect: NSRect)
并仅调用NSTextFieldCell.draw(withFrame cellFrame: NSRect, in controlView: NSView)
就足以重现此行为。
作为一种解决方法,设置super
,将文本字段放入textField.drawsBackground = false
或自定义NSBox
中,并在那里处理图形。