gpt4 book ai didi

swift - NSTable DidAddRowView 和交替背景颜色

转载 作者:行者123 更新时间:2023-11-28 13:06:26 25 4
gpt4 key购买 nike

也许有人可以帮我解决这个问题。我一直在努力创建一个具有交替背景颜色的行的 NSTable,并决定使用代码(显然被截断),就像这样;

func tableView(tableView: NSTableView, didAddRowView rowView: NSTableRowView, forRow row: Int) {
print(row)

rowView.backgroundColor = NSColor(white: 255.0/255.0, alpha: 1.0)
}

print 语句的输出表明所有行(共有 17 行)都被看到,但只有最后 行的背景颜色设置为这样。我试图做类似的事情;

func tableView(tableView: NSTableView, didAddRowView rowView: NSTableRowView, forRow row: Int) {

if(row % 4 == 1) {
rowView.backgroundColor = NSColor(white: 255.0/255.0, alpha: 1.0)
}
}

期望每第四行,从行索引 1 开始,将具有白色背景色。但是,这似乎不起作用。更具体地说,没有行具有调整后的(白色)背景颜色,并且默认返回到 IB 中设置的颜色。难道不能像这样交替改变行的颜色吗?

谢谢!

最佳答案

这就是它对我的工作方式(我更改了 IB 中单元格的颜色以显示定义的白色有效):

import Cocoa

class ViewController: NSViewController, NSTableViewDataSource, NSTableViewDelegate {

let data = ["hello", "aloha", "bonjour", "ahoy!", "konnichiwa", "salut", "hallo", "yo", "hey", "wasup", "..."]

override func viewDidLoad() {
super.viewDidLoad()
}

func numberOfRowsInTableView(tableView: NSTableView) -> Int {
return data.count
}

func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
var cellView = tableView.makeViewWithIdentifier("cell", owner: self) as! NSTableCellView
cellView.textField!.stringValue = data[row]
return cellView
}

func tableView(tableView: NSTableView, didAddRowView rowView: NSTableRowView, forRow row: Int) {
if(row % 4 == 1) {
rowView.backgroundColor = NSColor(white: 255.0/255.0, alpha: 1.0)
}
}

override var representedObject: AnyObject? {
didSet {
}
}
}

enter image description here

关于swift - NSTable DidAddRowView 和交替背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32614075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com