objective-c – 如何使用绑定在表视图中显示按钮单元格(复选框)标题

objective-c – 如何使用绑定在表视图中显示按钮单元格(复选框)标题,第1张

概述我正在尝试一个简单的应用程序,其中有一个可变数组的可变数组,例如 – NSMutableDictionary *sample6 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"title6",@"title",[NSNumber numberWithBool:NO],@"state", nil]; 在IB中,我使用NSButtonCe 我正在尝试一个简单的应用程序,其中有一个可变数组的可变数组,例如 –

NSMutableDictionary *sample6 = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"Title6",@"Title",[NSNumber numberWithBool:NO],@"state",nil];

在IB中,我使用NSbuttonCell(复选框)创建了一个表视图.

我能够使用以下表格列绑定显示复选框状态(已选中或未选中):

Value - ArrayController.arrangedobjects.state

在这种情况下,它显示了一个带有标题的复选框数组 – “Check”,如下面的屏幕截图所示:

Now my aim is to show checkBoxes Title using bindings,such that it
gets value from same mutable dictionary from which it is getting its
state.

我尝试按钮单元格的绑定,但它不起作用:

Title -> ArrayController.selection.Title

我也试过这个按钮单元的绑定:

Title -> ArrayController.arrangedobjects.Title

但它没有用,在使用上面的绑定之后看起来像这样:

任何人都可以建议我使用哪个控制器密钥,如果这不是显示标题的正确方法那么这样做的正确方法是什么?

解决方法 不幸的是,如果你想这样做,你需要编写一些代码.将表列值绑定到数组时,表列正在处理原型数据单元格,设置其值,并为每行“标记”它.按钮单元格的绑定不会通过表格列“公开”,因此简单的绑定不会为您执行此 *** 作.

回答你的问题

所以.由于只显示了值绑定,因此如果您确实希望复选框的标题反映该值,则必须手动设置标题(即,您确实希望复选框同时处理检查状态和显示标题).要做到这一点,你必须将绑定与< NStableDelegateProtocol> .每次询问时,使用-tableView:willDisplayCell:forTableColumn:row:方法将单元格的-Title属性设置为数组控制器的-arrangedobjects数组中的正确对象的属性.混合绑定和数据源/委托方法实际上比最基本的应用程序更常见,所以不要担心你做的事情很脏.注意:您将无法通过执行此 *** 作来支持编辑标题,因为它是一个复选框.

另类设计

就个人而言,我会避免所有这些,只为标题添加一个单独的表列.将新列的值绑定到数组控制器的arrangeObjects.Title并关闭复选框按钮单元格的标题,以便仅显示复选框本身.这大大简化了整个过程,并允许编辑标题.

总结

以上是内存溢出为你收集整理的objective-c – 如何使用绑定在表视图中显示按钮单元格(复选框)标题全部内容,希望文章能够帮你解决objective-c – 如何使用绑定在表视图中显示按钮单元格(复选框)标题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1003653.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存