gpt4 book ai didi

cappuccino - 如何在 Cappuccino 中制作自定义可编辑表格列

转载 作者:行者123 更新时间:2023-12-03 13:38:26 25 4
gpt4 key购买 nike

我正在尝试制作一个无需单击即可更改值的 CPTableColumn。一个例子是我试图在表格中显示一个 slider ,拖动时会更改该行的表格值。

在查看 CPTableView 时,我看到支持 CPTextFields 和 CPButtons,但我不确定如何使用任何其他控件来允许内联编辑值。

对此的任何帮助都会很棒。

最佳答案

您可以轻松地将 slider 添加到表格 View ,如下所示:

var dataColumn = [[CPTableColumn alloc] initWithIdentifier:"Slider"];
[table addTableColumn:dataColumn];
[[dataColumn headerView] setStringValue:"Slider (Editable)"];
[dataColumn setEditable:YES];
[dataColumn setWidth:140];
[dataColumn setDataView:[[CPSlider alloc] initWithFrame:CGRectMakeZero()]];

只要您确保值是数字, slider 就会自动反射(reflect)从数据源或绑定(bind)中读取的单元格值。

不幸的是,正如您所指出的,由于 slider 不是按钮,因此表格不会发送 tableView:setObjectValue:forTableColumn:row:消息。你可以继承 CPSlider让它返回 YESisKindOfClass:[CPButton class] .

这确实感觉像是一种 hack,因此为了获得更好的长期解决方案,请检查 Cocoa 如何处理 CPSlider 单元格。如果 Cocoa 发送 tableView:setObjectValue:forTableColumn:row:对于 slider ,继续发布 feature request并包含你的小 Cocoa 测试应用程序来演示它。 Cappuccino 努力在这些问题上与 Cocoa 一样工作。

关于cappuccino - 如何在 Cappuccino 中制作自定义可编辑表格列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8708641/

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