objective-c - 当多行时展开 EXCel

标签 objective-c cocoa nstableview nscell

我希望在 10.7 中具有与 Console.app 相同的行为。

  • 被截断的行带有一个显示三角形
  • 单击三角形/双击线条/按“右侧数组”展开 NSCell 并显示整个文本

我使用的是 NSOutlineView 方式,但“辅助功能检查器”显示它不是大纲 View ,而是 NSCell。

一个想法可能是捕获行数,并在特定事件(单击/双击/左侧数组)上修改当前 NSCell 的高度。

如何在单元格中添加这样的显示三角形? 我怎样才能捕捉到此类事件?

最佳答案

控制台使用基于 View 的NSTableView。每个单元格都是 NSTableCellView 的自定义子类,这使其能够包含公开按钮。

披露按钮可能只是在 TableView 上调用 noteHeightOfRowsWithIndexesChanged:,而 TableView 又在 TableView 的委托(delegate)上调用 tableView:heightOfRow:

tableView:heightOfRow: 委托(delegate)方法的实现将返回展开的行的较大高度。

关于objective-c - 当多行时展开 EXCel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761941/

相关文章:

objective-c - 如何在 Swift Closure 中获取 Objective-C block 输入参数

ios - uitextview 周围的自定义边框

macos - 如何使用 Swift 4 Xcode 10 从 Cocoa 中的 Storyboard 以编程方式设置初始 Controller ?

cocoa - NSTableView如何点击单元格任意位置编辑文本?

objective-c - 实现复制方法 - 复制整行

ios - 如何在 iOS 中将对象传递给 NextViewController?

iphone - linkedin Oauth如何记住登录

objective-c - NSMutableArray 销毁

macos - NSImageView 和调整窗口大小

objective-c - NSTableView 中的 cocoa 自定义单元格 : NSCell subclassing leak