gpt4 book ai didi

objective-c - 如何在编辑过程中更改基于 View 的表格 View 的外观?

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

我正在为 Mac OS X 开发我的第一个应用程序。它允许编辑表格 View 的内容,并且我想重新创建在 Things App 中编辑单元格的行为。它应该像这样工作:双击单元格应该开始对单元格内容进行高级编辑。问题是我不明白如何为基于 View 的表格 View 实现此功能。

enter image description here

我已经阅读了 Mac 版表格 View 编程指南,并观看了 UWDC’11 的第 120 期 session ,内容涉及自定义基于 View 的表格 View ,但这对我没有太大帮助。

我认为我应该以某种方式跟踪编辑事件,并在编辑开始后立即将单元格的原型(prototype)从标准原型(prototype)更改为更高级的原型(prototype)。我知道如何使用子类化和单元原型(prototype)来更改单元的外观。但我不明白如何在编辑过程中更改单元格的 View 。

无论如何,使用标准 NSTableView 创建这种自定义控件是否正确?

请注意,我在此应用程序中使用了 Core Data、NSArrayController 和 Cocoa Bindings。

最佳答案

对于基于 View 的 NSTableView,通过双击启动编辑实际上出人意料地困难 - 它被设置为执行类似于 Finder 的“单击并等待”进行编辑,并且如果您尝试实现自己的“双击”启动编辑”,它经常会感到困惑并尝试自己进行编辑,最终您会在奇怪的时候关闭/打开编辑。相信我,我试过了。

除此之外,在基于 View 的模式下,在编辑时添加/删除小部件或移动它们非常容易 - 当然,您需要跟踪基本的“我正在编辑此单元格吗”,但是一旦您这样做了您可以简单地创建小部件并将它们放置在您喜欢的 NSTableCellView 中。您可能不想替换实际的文本字段 - 当然要修改它,但是让 Apple 的代码完成将其从不可编辑变为可编辑等基本工作。

关于objective-c - 如何在编辑过程中更改基于 View 的表格 View 的外观?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20750846/

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