作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个带有复选框的 View 库表格 View 。我为 nstableviewcell 创建自定义类来操作每行的复选框。
问题是当我在表格 View 中选中多个复选框并向下滚动时。然后我向后滚动,尽管所选数据位于数组中,但复选框状态消失了。
这是我的桌面 View
else if tableView.tag == 2{
if (tableColumn?.identifier)!.rawValue == "AlbumColumn" . {
if let cell: MyCustomViewCell = tableView.makeView(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "AlbumColumn"), owner: self) as? MyCustomViewCell
{
cell.AlbumCbx.state = NSControl.StateValue(rawValue: 0)
cell.AlbumCbx.title = albums[row]!
cell.onClickAlbumCbx = { sender in
if !selected_album.isEmpty{
if cell.AlbumCbx.state.rawValue == 1{
selected_album.append(albums[row]!)
} else {
selected_album = selected_album.filter({ $0 != albums[row]! })
}
}
}
return cell
}
}
}
我在google和stackoverflow上进行了搜索,找到了解决这个问题的方法:
func tableView(_ tableView: NSTableView, rowViewForRow row:Int) -> NSTableRowView? {
}
虽然我不知道如何实现这个方法。
最佳答案
我是这样写的,它很有魅力
cell.AlbumCbx.state = NSControl.StateValue(rawValue: 0)
for s in selected_album{
if cell.AlbumCbx.title == s
{
//print(true, cell.AlbumCbx.title)
cell.AlbumCbx.state = NSControl.StateValue(rawValue: 1)
}
}
关于swift - Cocoa tableview 复选框状态在滚动时丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51447689/
我是一名优秀的程序员,十分优秀!